Я следую этой статье о том, как реализовать глобальную обработку ошибок в моем приложении Angular с помощью пользовательского HttpInterceptor
класса.
Важной частью является эта реализация intercept()
:
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).do((event: HttpEvent<any>) => {}, (err: any) => {
if (err instanceof HttpErrorResponse) {
// do error handling here
}
});
}
Что я не могу понять, как это сделать, если я улавливаю здесь ошибку, как я могу заставить функцию intercept()
возвращать Observable, которая никогда не разрешится?
Я попытался изменить next.handle.do()
на next.handle.catch()
, что позволяет мне возвращать наблюдаемое, но я хочу использовать Observable.never
, чтобы вернуть наблюдаемое, которое никогда не разрешится, но ожидает, что я верну тип Observable<HttpEvent<any>>
, и оно не позволитя приведу NeverObservable
к этому типу.
Есть ли способ получить нужную мне функциональность?