Вам нужно будет использовать catch
, чтобы специально перехватить ответ об ошибке.
RxJS 5 и ниже (или RxJS 6+ с rxjs-compact
, установленным для совместимости):
next.handle(modified).catch(errorResponse => {
// do something
})
RxJS 6+ без rxjs-compact
:
catch
было удалено, поскольку это зарезервированное ключевое слово в JS.
next.handle(modified).pipe(
catchError(errorResponse => {
// do something
}))
Или, если вы все еще хотите использовать pipe
и tap
, tap
имеет три необязательных параметра: следующий обратный вызов, обратный вызов ошибки и полный обратный вызов.
next.handle(modified).pipe(
tap(
event => {
if (event instanceof HttpResponse)
console.log('request succeeded');
},
error => {
if (error instanceof HttpErrorResponse) {
console.log('request failed');
}
}
));