var myArray = [1, 2, 3, 4, 5, 6]
function myPromise(num){
return new Promise(res => {
window.setTimeout(()=>{
res( console.log("done: " + num) )
},2000)
})
}
myPromise(myArray[0])
.then(x => myPromise(myArray[1]))
.then(x => myPromise(myArray[2]))
.then(x => myPromise(myArray[3]))
.then(x => myPromise(myArray[4]))
.then(x => myPromise(myArray[5]))
现在,如果我执行上面的语句,它将按顺序运行。在我的实际使用情况阵列动态填充,我需要执行该myPromise()
功能中的每个成员myArray
。
如何制作一个“可暂停循环”,循环数组中的每个项目,myPromise
在继续下一次迭代之前执行并等待Promise得到解决?