我的HTTP拦截器无法正常工作,如何解决?

时间:2020-06-07 18:24:29

标签: angular

我的服务器正在发送令牌过期错误,我想捕获它以重定向到登录。 这是代码,我在哪里弄错了?

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return next.handle(req).pipe(
      map((event: HttpEvent<any>) => {
        if (event instanceof HttpResponse) {
           console.log('i'm here!');
        }
        return event;
      }),
      catchError((error: HttpErrorResponse) => {
// NEVER CACHT THE ERROR 
          localStorage.clear();
          sessionStorage.clear();
          this.nav.goToLogin('');
          return throwError(error);
      }));
  }

1 个答案:

答案 0 :(得分:0)

您需要在应用程序模块中提供拦截器

 providers: [{
    provide: HTTP_INTERCEPTORS,
    useClass: MyInterceptor,
    multi: true
  }
相关问题