我有一个拦截器,可以捕获404错误
拦截(要求:HttpRequest,下一个:HttpHandler):可观察> {
return next.handle(req).pipe(retry(1),
catchError((error) => { // catch error after retry
console.log('err');
if (error instanceof HttpErrorResponse) {
if (error.status === 404) {
console.log('errrr');
}
}
}
问题是当错误不是404错误时,应用程序会在遇到422错误后停止正常运行。如果错误不是404,则该应用程序应继续按原样工作。我认为它与catcherror有关,但Im丢失了。感谢您的帮助。
答案 0 :(得分:0)
catchError仍然需要返回一些内容。如果它没有返回可观察到的信息,则可能是错误提示。
将其更改为此,以便可以处理404,但其他所有内容都将被抛弃
catchError((error) => { // catch error after retry
console.log('err');
if (error instanceof HttpErrorResponse) {
if (error.status === 404) {
console.log('errrr');
return EMPTY;
}
}
throw error;
}