Axios上可观察到的RxJS如何访问响应

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

我正在努力从我的NestJS项目中的HTTP帖子中获得响应。我使用的是
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吗?这张地图完全是多余的。