У меня есть http-перехватчик в моем приложении Angular:
@Injectable()
export class ResponseInterceptor implements HttpInterceptor {
constructor(private messageService: MessageService) {}
intercept( req: HttpRequest<any>, next: HttpHandler ): Observable<HttpEvent<any>> {
return next
.handle( req ).pipe(
tap(event => {
if (event instanceof HttpResponse) {
Logger.log('Successful HTTP request in interceptor');
}
}, (error: any) => {
const notFoundError = ErrorCodes.getErrorDescription(error.status);
if (notFoundError) {
this.messageService.show(errorMessage);
} else {
return Observable.throw( error );
}
}
));
}
}
Когда есть notFoundError, мое приложение правильно показывает сообщение, которое я хочу, но кажется, что ошибка распространяется обратно в обработчик ошибок вслужбы, и я получаю «Ошибка ошибки: Uncaught (в обещании): HttpErrorResponse» в консоли.Есть ли способ остановить ошибки в перехватчике?
Я имею в виду, что здесь я буду обрабатывать распространенные ошибки и только сообщать другим о службах.