async function run () {
taskList.forEach(async (task) => await task())
}
run()
async function run () {
taskList.forEach((task) => await task())
}
run()
function run () {
List.forEach(async (task) => await task())
}
run()
其余都不对
var taskList = [ async function(){ return new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve('1s') },1000) }) }, async function(){ return new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve('0.5s') },500) }) }, async function(){ return new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve('2s') },2000) }) }, ] function run_wrong(list){ list.forEach(async task=>{ let res = await task() console.log(res) }) } async function run(list){ for(let i=0;i<list.length;i++){ let res = await list[i]() console.log(res) } } async function run2(list){ for(let task of list){ let res = await task() console.log(res) } } run_wrong(taskList) //0.5s 1s 2s run(taskList) //1s 0.5s 2s run2(taskList) //1s 0.5s 2s
{ taskList = [taskA, taskB, taskC] function run () { taskList.forEach(async (task) => await task()) } run() function taskA(){ setTimeout(()=>{ console.log('A') },1000) } function taskB(){ setTimeout(()=>{ console.log('B') },1400) } function taskC(){ setTimeout(()=>{ console.log('C') },1030) } }