Мне нужно unsubscribe
во время разговора, но когда я это делаю, HttpResponse
нет. Это проблема для меня, так как я также использую перехватчик http
, чтобы поймать, когда я должен показать значок загрузки или нет.
Так что в моем указанном c компоненте у меня есть это:
if (this.testSubscription)
this.testSubscription.unsubscribe(); // Stop original http request when calling getTestDetails with other parameters
this.testSubscription = this.getTestDetails(param1, param2);
И мой перехватчик:
intercept(request: HttpRequest<any>, next: HttpHandler) {
this.totalRequests++;
console.log(' intercept totalRequests: ', this.totalRequests);
this.loadingService.isLoading.next(true);
return next.handle(request).pipe(
tap(res => {
if (res instanceof HttpResponse) {
// I need to get here even when unsubscribing !!!!
this.decreaseRequests();
}
}),
catchError(err => {
this.decreaseRequests();
throw err;
})
);
}
Так что я не совсем уверен, как я могу запустить свой метод перехвата, чтобы поймать это, когда я unsubscribe
в подписке. Любые идеи приветствуются!