我得到了以下函数,但是当遇到错误时,没有事件去捕获它,而是一直到那时。请注意,这是可行的,我只是想强制捕获
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);
});
}
答案 0 :(得分:2)
此行:
.catch(error => error)
...将拒绝的承诺转换为解决错误的承诺。等效于在同步代码中执行此操作:
try {
doSomething();
} catch (error) {
return error; // The function is no-longer throwing
}
您似乎想做的是:
.catch(error => { throw error; })
...但是那是多余的。只需忽略陷阱,呼叫者的catch
就会响起。