3 回答
TA贡献2036条经验 获得超8个赞
您正在将异步代码与同步代码相结合,请尝试使用 asyncchron :
const postData = async (param) => {
try {
const result = await createProcessApiCall(param)
}
catch(err) {
setIsError(true);
}
};
或者同步:
const postData = (param) => {
createProcessApiCall(param)
.then((response) => {
setApiData(response.data.data);
setIsSuccess(response.data.isSuccess);
})
.catch((e) => {
setIsError(true);
});
};
TA贡献1820条经验 获得超10个赞
axios.interceptors.response.use(res=>{return res}, (error) => {
if (error.response.status !== 401) {
throw error;
}
if (typeof error.response.data.error.name !== "undefined") {
//do something on the error
}
});
最好使用 axios 拦截器来捕获错误
TA贡献1806条经验 获得超5个赞
任何与 200-299 之间包含的序列不同的状态代码,您都需要捕获:
const postData = async (param) => {
await createProcessApiCall(param)
.then((response) => {
setApiData(response.data.data);
setIsSuccess(response.data.isSuccess);
})
.catch((e) => {
// @TODO parse err
console.log(e.response);
setIsError(true);
});
};
添加回答
举报