Angular 拦截器 - rxjs/map 响应字段
Angular interceptor - rxjs/map response field
应用以下拦截器时return不响应
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')
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;
}));
}
在该函数订阅中,您将获得 response.body 作为数据
应用以下拦截器时return不响应
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')
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;
}));
}
在该函数订阅中,您将获得 response.body 作为数据