【发布时间】:2018-06-18 10:48:58
【问题描述】:
Axios 是否可以区分以下内容:
- 由于客户端没有网络连接而失败的请求 发出请求的时间点 - (ERR_CONNECTION_REFUSED)。
- 由于网络连接丢失而失败的请求之后 已发出请求,但在收到响应之前 - (ERR_INTERNET_DISCONNECTED)。
似乎在这两种情况下,我们得到的只是一个相当无用的“网络错误”消息......
Axios 文档 (https://github.com/axios/axios#handling-errors) 建议在后一种情况下,应该填充 error.request,但我无法复制存在error.request 的任何场景。在上述两种情况下,我都会得到一个如下所示的错误对象:
{
config: { ... },
response: undefined,
message: "Network Error",
stack: "Error: Network Error at createError (http://localhost:3000/static/js/bundle.js:1636:15) at XMLHttpRequest.handleError (http://localhost:3000/static/js/bundle.js:1170:14)"
}
【问题讨论】:
-
因为 axios 是 XMLHttpRequest 的包装器,我相信它与 axios 没有任何关系。至于 XHR 在这里找到了一些信息:developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/… 但它说特殊的
.status值仅在 XUL 运行程序和扩展程序的代码中可用
标签: javascript error-handling axios