我有一个HttpInterceptor,我希望它重构我的错误删除括号。
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor(public auth: AuthProvider, public app: App, private global: GlobalVariablesProvider) {}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).do((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
}
}, (err: any) => {
// modify err here?
});
}
}我似乎不能直接修改err,也不知道修改后如何传递错误。我想对err做的修改是:
err.error.replace(/\[|]/, '')发布于 2018-03-15 14:07:42
在拦截器和HTTP中,句柄(请求).catch(.)将捕获错误
你能做的是:
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor(public auth: AuthProvider, public app: App, private global: GlobalVariablesProvider) {}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request)
.do((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
// do what you want here if your have to
}
})
.catch((err: any) => {
if (err && err.error) {
err.error = err.error.replace(/\[|]/, '');
}
return Observable.throw(err);
});
}
}https://stackoverflow.com/questions/49300953
复制相似问题