我正在使用axios
发出xhr请求,并试图检测所获得的所有响应的状态。我有一个响应拦截器,如果触发了错误功能,我会调用一个函数来检查响应的状态代码并相应地处理UI:
const axios = axios.create();
axios.interceptors.response.use(response => {
// log the response in dev environment
return response;
}, error => {
errorHandler(error);
return Promise.reject({
message: "ERROR"
});
});
在errorHandler中:
const errorHandler = e => {
try {
if (e.status === 599) {
// do something
}else if (e.status === 0){
console.log('xhr cancelled');
} else {
// show error notification
}
} catch (ex) {
// show error notification
}
};
对于一个特定的POST请求,如果它被中止(在xhr请求完成之前提交表单),则错误对象中的状态不存在。在记录此错误时,我得到:
Error: Request aborted
和error.code = ECONNABORTED
以下属性在错误对象上可用:
config
code
request
response
isAxiosError
toJSON
我有两个问题: