export class AppHttpInterceptor implements HttpInterceptor {
private cache = new HttpCache();
private cacheURLList = [];
count = 0;
constructor(@Inject(AppBlockUiService) private appBlockUiService: AppBlockUiService,
@Inject(AppMessageService) private appMessageService: AppMessageService) {
}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const started = Date.now();
this.blockUi();
return next.handle(serverReq)
.timeout(720000)
.do(
event => {
if (event instanceof HttpResponse) {
this.unBlockUi();
}
}, err => {
if (err instanceof HttpErrorResponse) {
// this.appBlockUiService.unblockUi();
}
this.unBlockUi();
}
);
}
}
Итак, у меня есть перехватчик http, который я использую, чтобы иметь маску загрузки на пользовательском интерфейсе при выполнении вызовов http, но я сталкиваюсь с проблемой, что при отмене http-запроса из-за отказа от подписки или из-за тайм-аута.метод разблокировки не вызывается.
Есть ли способ обработать отмененный запрос через неподписанное и через тайм-аут?