Angular 角度6-修改拦截器中的响应体不工作

Angular 角度6-修改拦截器中的响应体不工作,angular,Angular,如何使用HttpInterceptor修改响应主体,我遇到了一个问题。这是我的密码: return next.handle(modifiedReq).pipe(tap((event: HttpEvent<any>) => { if (event instanceof HttpResponse) { return event.clone({ body: this.modifyBody(event.body) });

如何使用
HttpInterceptor
修改响应主体,我遇到了一个问题。这是我的密码:

    return next.handle(modifiedReq).pipe(tap((event: HttpEvent<any>) => {
        if (event instanceof HttpResponse) {
            return event.clone({ body: this.modifyBody(event.body) });
        }
        return event;
    }, error => {
        this.modifyError(error);
        return of(error);
    }));

    private modifyBody(body: any) {
        //modify body here and return it
    }
这实际上是可行的,但我在angular CLI中遇到了一个错误,因为body属性是一个常量,而且在官方anuglar教程中,它们总是像我的例子一样进行克隆


那么,有没有人有类似的问题,或者可以给我一些建议如何在这里继续?

请尝试
map
操作符,而不是
点击


点击将不会修改结果

如果退出您的
如果instanceof
,会发生什么?我更新了问题的代码,因为缺少一些内容。我必须使用instanceof cause,否则我无法在事件对象
(事件为HttpResponse)上使用.clone。clone
将起作用。就是这样!感谢所有神圣的爱,谢谢你。我以为我把它当成了地图,但很明显,我无意中决定用水龙头。。。
event.body = this.modifyBody(event.body);