error.response 在 catch axios 中未定义
error.response is undefined in catch axios
我的问题是 error.response
- 未定义。
发生这种情况是因为我有一个拦截器:
instance.interceptors.response.use(undefined, error => {
if (error.response.status === 401) {
console.log("UNAUTHORIZED");
}
});
如果我删除拦截器,一切都会正常。
这就是我想要从错误中获得响应的方式:
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");
}
}
}
在您的拦截器中,您必须 return 带有 Promise.reject 的错误对象以便稍后可用:
instance.interceptors.response.use(undefined, error => {
if (error.response.status === 401) {
console.log("UNAUTHORIZED");
}
return Promise.reject(error);
});
我的问题是 error.response
- 未定义。
发生这种情况是因为我有一个拦截器:
instance.interceptors.response.use(undefined, error => {
if (error.response.status === 401) {
console.log("UNAUTHORIZED");
}
});
如果我删除拦截器,一切都会正常。 这就是我想要从错误中获得响应的方式:
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");
}
}
}
在您的拦截器中,您必须 return 带有 Promise.reject 的错误对象以便稍后可用:
instance.interceptors.response.use(undefined, error => {
if (error.response.status === 401) {
console.log("UNAUTHORIZED");
}
return Promise.reject(error);
});