javascript - 无法在 axios react.js 中捕获错误
问题描述
我在 reactjs 项目中使用 axios 进行 API 调用,但不知何故我无法捕捉到错误。我得到404但无法抓住它。有人可以告诉我有什么问题吗?
abc.js
export default axios.create({
baseURL: `my_base_url`,
headers: {
"Content-Type": "application/json",
},
});
xyz.js
export const createProcessApiCall = (param) => {
return API.post("/v1/process1", param);
};
zzz.js
const postData = async (param) => {
await createProcessApiCall(param)
.then((response) => {
setApiData(response.data.data);
setIsSuccess(response.data.isSuccess);
})
.catch((e) => {
setIsError(true);
});
};
解决方案
您正在将异步代码与同步代码结合使用,请尝试使用异步代码:
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);
});
};
推荐阅读
- video - 在模态响应中制作视频 - Bootstrap 4
- c++ - 如何为 LLVM lld 提供共享库路径?
- ruby-on-rails - Rails & Heroku:自动从heroku保存数据副本
- c++ - co_yield 可以什么都不返回吗?
- javascript - Sqlite3 putting input field values into insert statement
- python - 是否可以通过模块、openpyxl、xlsxwriter、xlwt 或 xlutils 更改打开的工作表中的数据?
- sql - SQL - 更新列 a 中每个值的前 n 条记录,其中 n = b 列的计数
- angular - Angular 5,可观察和异步功能
- django - 如何为Django中的一个类别创建链接
- parsing - Google 电子表格:从 Google Drive 解析 .PDF