[英]error.response is undefined in catch axios
My problem is error.response
- undefined.我的问题是
error.response
- 未定义。 It happens because I have an interceptor:发生这种情况是因为我有一个拦截器:
instance.interceptors.response.use(undefined, error => {
if (error.response.status === 401) {
console.log("UNAUTHORIZED");
}
});
If I remove the interceptor everything will work.如果我删除拦截器,一切都会起作用。 This is how I want to get the response from error:
这就是我想从错误中获得响应的方式:
const fn = async stuff => {
try {
const res = await API.get('bla-bla-bla')
} catch (e) {
console.log(e.response) <------------------------- undefined
if (e.response && e.response.status === 401) {
console.log("UNAUTHORIZED");
}
}
}
In your interceptor you must return the error object with Promise.reject for it to be available later:在拦截器中,您必须使用 Promise.reject 返回错误对象,以便稍后可用:
instance.interceptors.response.use(undefined, error => {
if (error.response.status === 401) {
console.log("UNAUTHORIZED");
}
return Promise.reject(error);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.