【发布时间】:2017-12-06 03:11:43
【问题描述】:
有些我似乎无法根据来自另一个可观察对象的值更改响应正文,我只能在检索响应后才能获得。
更改请求很简单,我不知道如何处理响应。
@Injectable()
export class MyHttpInterceptor implements HttpInterceptor {
constructor(private _injector: Injector) {
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).map((event: HttpEvent<any>) => {
if (!(event instanceof HttpResponse)) return event;
const translateService = this._injector.get(TranslateService);
// retrieved the key from the reponse, now need to retrieve data from the translateservice
translateService.get(`${event.body.key}`).subscribe((value: string) => {
event.body.message = value;
});
// how to return new response ??
return event.clone({ body: event.body });
});
}
}
所以基本上我想返回一个带有新属性“消息”的新响应体。
【问题讨论】:
标签: javascript angular typescript angular-http-interceptors