someFunction() {
if (array.length > 0) {
return new Promise((resolve, reject) => {
array.map(item => {
AXIOS.postItem(item).catch(err => {reject('error')});
});
resolve('resolve');
});
}
}
mainFunction() {
Promise.all([this.someFunction()]).then(() => {
this.invokeTheRest();
)}
}
就我而言, some 函数总是返回 resolve
,甚至在 AXIOS.postItem()
之前被处决或被捕。
我怎么能等AXIOS.postItem()
执行?如果 catch
中出现错误我怎么能不继续this.invokeTheRest()
?
最佳答案
将 someFunction 的主体更改为:
someFunction () {
return array.map(item => AXIOS.postItem(item));
}
这样它就会返回一个可以与 Promise.all 一起使用的 Promise 数组。
关于javascript - 在返回 promise 之前等待函数完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51026213/