Angular 6应用程序中的全局错误处理

时间:2019-03-30 13:11:54

标签: angular http error-handling

如何在角度6中进行全局错误处理?

我知道我们可以在一个地方使用拦截器来处理错误,但是在我的情况下,当我的一个页面加载时,我在ngOnit()上向服务器发送了多个HTTP异步请求,并且在所有请求失败的情况下,只需显示一个对话框,而不是为每个请求显示一个对话框。

如何在角度6中做到这一点?

下面是代码段:

export class HttpErrorInterceptor  implements HttpInterceptor {
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>{
    return next.handle(request)
       .pipe(catchError( (error: HttpErrorResponse) => {   
            let errMsg = '';

            // Server Side Error
            errMsg = `Error Code: ${error.status},  Message: ${error.message}`;

            showDialog(errMsg)      
          })
       )
  }
}

如果我如上所述使用showDialog(errMsg),它将为每个HTTP失败弹出一个对话框。

请提出一个更好的方法。

0 个答案:

没有答案