Axios上可观察到的RxJS如何访问响应
我正在努力从我的NestJS项目中的HTTP帖子中获得响应。我使用的是Axios上可观察到的RxJS如何访问响应,rxjs,axios,observable,nestjs,Rxjs,Axios,Observable,Nestjs,我正在努力从我的NestJS项目中的HTTP帖子中获得响应。我使用的是HttpModule,它将Axios周围的RxJS中的可观测数据包装起来。下面是一些代码: async doSomething(bar: Bar) { const resp = await this.httpService .post(`${UPLOAD_URL}?app_token=111222333`, { foo: bar }) .pipe(map(respo
HttpModule
,它将Axios周围的RxJS中的可观测数据包装起来。下面是一些代码:
async doSomething(bar: Bar) {
const resp = await this.httpService
.post(`${UPLOAD_URL}?app_token=111222333`, {
foo: bar
})
.pipe(map(response => response))
.toPromise()
.catch(err => {
this.logger.error(err)
})
this.logger.debug('response object')
this.logger.debug(resp)
}
在这个特殊的例子中,我只想看看resp
对象的结果是什么。不过,我得到一个将循环结构转换为JSON的错误。所以我的问题是,我将如何看待回应?我可以使用.toPromise()
链查看它,也可以不使用它。我不熟悉可见光,所以我把它转换成承诺。不确定这是否是一个巨大的性能影响,但这对于这个问题并不重要。您正在使用的映射没有帮助,因为它实际上没有对响应进行任何映射。如果您希望在不更改的情况下将某个内容记录到observable中,您可以使用点击
操作符并执行以下操作
this.httpService().post(url, data).pipe(
tap((data) => console.log(data),
).toPromise()
之所以出现将循环结构转换为JSON的错误,是因为嵌套记录器将JSON.stringify()
对象,并且不使用循环替换程序。考虑用一个循环替换器来对对象进行严格化,使用<代码>控制台。日志()/代码>或使用不同的日志库。 < p> <代码> map >您没有用,因为它实际上不做任何映射的响应。如果您希望在不更改的情况下将某个内容记录到observable中,您可以使用点击
操作符并执行以下操作
this.httpService().post(url, data).pipe(
tap((data) => console.log(data),
).toPromise()
之所以出现将循环结构转换为JSON的错误,是因为嵌套记录器将JSON.stringify()
对象,并且不使用循环替换程序。考虑用一个循环替换器来对对象进行严格化,使用<代码>控制台。()(代码)>或使用不同的日志库。< /p>使用TAP?地图完全是多余的。使用tap吗?这张地图完全是多余的。