function delayLog(item){
return new Promise((resolve)=>{
setTimeout(()=>{
resolve(item)
},1000)
})
}
async function processArr(arr){
arr.forEach(async item=> {
console.log( await delayLog(item))
});
console.log('打印完成')
}
processArr([1,2,3])
执行结果为:
当用for of去循环时
function delayLog(item){
return new Promise((resolve)=>{
setTimeout(()=>{
resolve(item)
},1000)
})
}
async function processArr(arr){
for(item of arr){
console.log( await delayLog(item))
}
console.log('打印完成')
}
processArr([1,2,3])
执行结果为:
所以当需要执行异步任务时可以用for of可以代替forEach