【发布时间】:2019-08-16 13:23:46
【问题描述】:
当请求中的 http 状态代码为 401 时,我正在尝试将用户重定向到登录。但是按照许多网站的说明,catchError 不起作用。
这是我的实际代码。
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).pipe(
map((event: HttpEvent<any>) => {
console.log('OK test');
if (event instanceof HttpResponse) {
// OK
}
return event;
}), catchError((error: HttpErrorResponse) => {
console.log('non-OK test');
if (error.status === 401) {
LocalStorageService.deslogar();
this.router.navigate(['/autenticacao/login']);
} else if (error.status === 403) {
// Forbidden
} else if (error.status === 404) {
// Not Found
}
return throwError(error);
}));
}
他的结果:
【问题讨论】:
标签: angular