如何在角度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失败弹出一个对话框。
请提出一个更好的方法。