Angular Interceptor-如何捕获取消HTTP请求

时间:2018-08-16 06:01:24

标签: angular angular-http-interceptors

@Injectable()
export class AuthInterceptor implements HttpInterceptor {

   constructor(
      private router: Router,
      private loadingService: LoadingService) {
   }


   intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

      this.loadingService.start(req);
      const clonedRequest = req.clone({
         setParams: {
            param1: 'param1',
            param2: 'param2'
         }
      });

      return next.handle(clonedRequest).pipe(
         tap((event: any) => {
            if (event instanceof HttpResponse) {
               this.loadingService.stop(req);
            }
         })
      );
   }

}

我有这个拦截器。我也有2个守卫。其中之一具有http请求(异步)。另一个不(同步)。

当我走到这条路线时,两个守护程序都在运行...如果我先是异步然后是同步...到同步守护程序发生故障时,它会强制取消异步http请求。 。我无法将这种取消通知我的拦截器

0 个答案:

没有答案