javascript - Reactjs Axios 不会赶上
问题描述
我得到了以下功能,但是当它遇到错误时,它并没有去捕捉它,而是直接去了。请注意,这是有效的,我只是想强制捕获
const AddMainItem = HPSMainObject => {
let data = JSON.stringify(HPSMainObject);
const request = axios({
method: "POST",
url: getMainUrl(
"web/lists/GetByTitle('" +
MAINITEMGENERALINFO.mainItemRelatedObject.mainList.title +
"')/Items"
),
data: data,
headers: INTERNALCONFIG.PostHeader
});
return request.then(result => result.data.d).catch(error => error);
};
我用这个来称呼它,你能告诉我最好的做法是什么吗?
handleSubmit = () => {
let self = this;
AddMainItem(self.state.HPSMainObject)
.then(function(AddMainItemResult) {
console.log("its working");
})
.catch(function(errorMessage) {
console.log("Error AddMainItem: ", errorMessage);
});
}
解决方案
这一行:
.catch(error => error)
...将被拒绝的 Promise 转换为解决错误的 Promise。这相当于在同步代码中执行此操作:
try {
doSomething();
} catch (error) {
return error; // The function is no-longer throwing
}
看来您想要做的是:
.catch(error => { throw error; })
...但那是多余的。只需忽略 catch,调用者catch
就会启动。
推荐阅读
- json - 子查询必须只返回一列 Postgrsql
- html - 如何使用 Angular Material 构建网格布局菜单项
- angular-router - scrollPositionRestoration 在 spartacus-storefront 中不起作用
- dns - 域的 dns 查找失败
- c++ - 组合协程
- drupal - REST API 的 Drupal 9 响应式图像字段类型
- python - 网页抓取,从产品网格中提取href
- linux - 使用 netcat 接收字节
- apache-dolphinscheduler - DolphinScheduler 为什么任务实例为空
- django - 我无法删除 django 中的模型对象并且删除功能不起作用?