我在使用修改响应正文时遇到问题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
}
Run Code Online (Sandbox Code Playgroud)
拦截器正在被调用,但是不幸的是,事件主体在被修改后仍然是相同的。在return event;事件对象有我的修饰身材,但是当我与调试一步向前跳,我可以看到该事件是起源之一,也是我的服务是不工作的原因预期的修饰身材的来历之一。
我只是试图通过更改主体来修改事件,如下所示:
event.body = this.modifyBody(event.body);
Run Code Online (Sandbox Code Playgroud)
这实际上是可行的,但是我在有角度的CLI中出现了错误,因为body-property是一个常数,而且在正式的uguglar教程中,它们总是像我的情况那样进行克隆。
那么,有没有人遇到类似的问题,或者可以给我任何建议如何继续进行下去?
| 归档时间: |
|
| 查看次数: |
1341 次 |
| 最近记录: |