Ira*_*ana 6 error-handling angular-http-interceptors angular
还有什么是 ng2 中实时 Web 应用程序前端错误处理的最佳解决方案?
使用“Http拦截器”进行前端错误处理可以吗?请解释一下这些事情。
小智 8
angular 2 中的错误处理程序和拦截器有什么区别?:
根据 Angular 文档,它们是这样定义的:
ErrorHandler: ErrorHandler的默认实现将错误消息打印到控制台。
HttpInterceptor:通常拦截器会在返回 next.handle(transformedReq) 之前转换传出的请求。拦截器也可以选择转换响应事件流,方法是在 next.handle() 返回的流上应用额外的 Rx 操作符。
更罕见的是,拦截器可能会选择自己完全处理请求,并组合一个新的事件流而不是调用 next.handle()。这是可以接受的行为,但请记住,将完全跳过进一步的拦截器。
拦截器在事件流上为单个请求返回多个响应的情况也很少见但有效。
这让我相信 的唯一目的ErrorHandler是确定错误将如何持久化,以便开发人员意识到应用程序中发生了错误。默认行为是在控制台中保留错误,开发人员可以轻松确定应用程序是否抛出错误。一个简单的用例是,如果您想在某种类型的持久存储中记录错误,以便开发人员可以梳理日志以查找任何客户端错误。
现在,HttpInterceptor当您想在将请求发送到服务器之前对其进行操作时,可以使用an 。一个简单的用例是,如果您想向所有请求添加标头、操作正文、小写请求 URL 等。
在 ng2 中实时 Web 应用程序前端错误处理的最佳解决方案是什么?:
如果您只想记录 angular 应用程序中的任何错误,请编写您自己的ErrorHandlerIntercept 错误处理自定义。在您的自定义错误处理程序中,使用服务将错误记录到持久存储中。
使用“Http拦截器”进行前端错误处理可以吗?
这一切都取决于您的用例。假设您想在 500 发生时通过SnackBar通知客户端,您可以编写一个拦截器来捕获请求,检查 500 的响应,然后显示红色SnackBar并重新抛出错误,以便进行调用的服务可以执行一些额外的错误处理。
希望这可以帮助 :)
| 归档时间: |
|
| 查看次数: |
2126 次 |
| 最近记录: |