【发布时间】:2021-12-03 05:30:18
【问题描述】:
我正在构建一个 NestJS api,需要调用外部 API 并解析响应数据。这是一个运行状况检查,用于查看另一个 API 是否已启动并正在运行。这是基本调用:
@Get('healthCheck')
public async healthCheck(
@Req() req: Request,
@Res() res: Response,
)
{
const obj = this.test(req);
console.log(obj)
}
test(req) {
const testingURL = 'https://google.com';
return this.http.get(testingURL).pipe(
map((obj: AxiosResponse) => { return obj.data } ),
tap(console.log)
);
}
我过去曾广泛使用 Angular,对返回的数据执行任何类型的“.toPromise()”或“subscribe()”都会导致“将循环结构转换为 JSON”。
目前第一部分的“console.log(obj)”正在打印出一个无法解析的可观察对象:
Observable {
source: Observable {
source: Observable { _subscribe: [Function (anonymous)] },
operator: [Function (anonymous)]
},
operator: [Function (anonymous)]
}
任何建议或有用的提示都会有所帮助。大多数其他讨论这个问题的帖子都说,简单地映射响应或添加一个承诺可以解决这个问题,但它没有进一步解释如何在获取该 observable 后对其进行解析。
编辑:下面发布的解决方案。
【问题讨论】:
标签: node.js express axios nestjs endpoint