Angular http 指南错误处理- 错误?
Angular http guide error handling - mistake?
我在这里阅读了本指南:https://angular.io/guide/http#getting-error-details
在代码片段中,指南提供的代码试图区分:a) 客户端错误(如无连接等)和 b) 后端响应(参见指南中的代码或下图)。
我确实为我的案例实现了这段代码,令人惊讶的是,当我在 Chrome 开发工具(设置离线标志)中进行离线模式时 - 我将这些错误捕获为 "backend" 错误,而我认为它应该是客户端错误。
在下面查看我遇到的错误和我的代码片段(与指南中的相同):
这是 console.log 的快照 - 如果实际上有服务器端响应,显然应该显示此消息 "Backend returned..."。
我在这里错过了什么?
此代码是否:err.error instanceof 错误 - 甚至有效?
这个例子似乎有点过时了。 HttpClient
在后台使用 XHR 后端,文档中提到的客户端错误是 XHR
通过 error
回调传递的错误:
var oReq = new XMLHttpRequest();
oReq.error = handler()
根据to the spec, XHR
errors are instances of ProgressEvent接口,所以应该添加这个检查:
if (e.error instanceof Error || e.error instanceof ProgressEvent) { }
我在这里阅读了本指南:https://angular.io/guide/http#getting-error-details
在代码片段中,指南提供的代码试图区分:a) 客户端错误(如无连接等)和 b) 后端响应(参见指南中的代码或下图)。
我确实为我的案例实现了这段代码,令人惊讶的是,当我在 Chrome 开发工具(设置离线标志)中进行离线模式时 - 我将这些错误捕获为 "backend" 错误,而我认为它应该是客户端错误。
在下面查看我遇到的错误和我的代码片段(与指南中的相同):
这是 console.log 的快照 - 如果实际上有服务器端响应,显然应该显示此消息 "Backend returned..."。
我在这里错过了什么? 此代码是否:err.error instanceof 错误 - 甚至有效?
这个例子似乎有点过时了。 HttpClient
在后台使用 XHR 后端,文档中提到的客户端错误是 XHR
通过 error
回调传递的错误:
var oReq = new XMLHttpRequest();
oReq.error = handler()
根据to the spec, XHR
errors are instances of ProgressEvent接口,所以应该添加这个检查:
if (e.error instanceof Error || e.error instanceof ProgressEvent) { }