首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular interceptor - rxjs/map响应字段

Angular interceptor - rxjs/map响应字段
EN

Stack Overflow用户
提问于 2021-07-08 19:01:10
回答 1查看 151关注 0票数 3

应用以下拦截器时不返回响应

代码语言:javascript
复制
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

    return next.handle(req).pipe(
      map(response => {
        if (response instanceof HttpResponse) {
          return response.body.data;
        }
        return response;
      })
    );
  }

我希望每个响应的'data‘字段是原始调用者组件中唯一存在的字段

为什么会发生这种情况,我如何更好地实现它?

否则,我必须为项目中的每个请求显式添加pipe -> pluck('data')

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-08 19:17:29

代码语言:javascript
复制
intercept(req: HttpRequest, next: HttpHandler): Observable<HttpEvent<any>> {

        return next.handle(req).pipe(map((event: HttpEvent<any>) => {
            if (event instanceof HttpResponse) {
                event = event.clone({body: event.body.data});
            }
            return event;
        }));

    }

在subscribe函数中,您将获得response.body作为数据

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68300382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档