asyncfunctionqueue(list){for(let index =0; index < list.length; index++){const element = list[index]awaitmakePromise(element)}}functionmakePromise(fn){returnnewPromise((resolve)=>{fn(resolve)})}
解法三:递归
functionqueue(list){
list=[...list]conststep=()=>{const run = list.shift()if(run){run(step)}}step()}