好的…我们能够使其工作的方式:在Promises的帮助下array.reduce()。最终结果:
myAsyncAPIcall.then(items => { items.reduce((current, nextItem) => { return current.then(() => { return new Promise(res => { Promise.all([myPromiseA(nextItem), myPromiseB(nextItem]).then(() => { someSynchronousCallThatTakesAWhile(nextItem); res(); }).catch(err => { console.log(err); }); }); }); }, Promise.resolve())})它的工作方式是,通过将数组的每个项目包装在自己的Promise(resolve,reject)中,我们可以确保每次迭代都同步运行,因为一次迭代的完成将触发解决下一个Promise的需求,并且等等等等。在每个promise解决方案中,只要知道调用只能在父promise范围内,直到调用完成,就可以根据需要异步启动所有调用。
希望对大家有帮助!



