我使用axios拦截器来获取错误。在某些情况下我出错了,我不想返回到catch或回调。
我如何在axios中做到这一点?因为如果我不返回值,它将转到next
,但是如果我返回Promise.reject
,它将转到catch
。
我想在拦截器出错时不要继续前进到回调。
import axios from "axios";
axios.interceptors.response.use(
(response) => response,
(error) => {
console.log({ error });
// do not return to the catch/then in foo please! <-- HOW?
return Promise.reject(error);
}
);
const foo = () => {
axios
.post("https://httpstat.us/500")
.then((r) => {
console.log({ r });
})
.catch((err) => {
console.log({ err });
});
};
foo();
答案 0 :(得分:0)
您可以在错误函数中返回可解决的承诺
axios.interceptors.response.use(
(response) => response,
(error) => {
console.log({ error });
return Promise.resolve();
}
);