angular - 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 失败弹出一个对话框。
请提出更好的方法。
解决方案
推荐阅读
- unit-testing - 来自测试,恐慌:sql:返回的连接从未断开
- java - Java 10 上的 maven lombok 插件:在 maven 中找不到注释
- javascript - 比较两个列表以查找新元素、已删除元素和现有元素
- javascript - 为什么浏览器不显示我的 jquery?
- php - 当“选择”在值中时,Joomla / PHPMyAdmin 错误
- javascript - HTML5 在某些点暂停视频
- django - TypeError: perform_create() 接受 1 个位置参数,但给出了 2 个
- algorithm - 订单批处理算法 - 是 TSP 吗?如何解决?
- java - sendUserActionEvent() 返回
- kubernetes - 如何调试 Kubernetes 调度?