首页 > 解决方案 > Angular 6 应用程序中的全局错误处理

问题描述

我们如何在 Angular 6 中进行全局错误处理?

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

我们如何在 Angular 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 失败弹出一个对话框。

请提出更好的方法。

标签: angularhttperror-handling

解决方案


推荐阅读