-利用 reduce
function fn(){
let arr=[]
for(let i=0;i<6;i++){
arr.push(i)
}
arr.reduce((ac,cu)=>{
return new Promise((res)=>{
ac.then(()=>{
setTimeout(()=>{
console.log(cu)
res()
},100)
})
})
},Promise.resove())
}
- 利用for+await
function fn(){
for(let i=0;i<6;i++){
await Promise(res=>{
setTimeout(()=>{
console.log(i)
res()
},1000)
})
}
}
- 闭包
function fn() {
for (let i = 0; i < 6; i++) {
(function (i) {
setTimeout(() => {
console.log(i);
}, i * 1000);
})(i);
}
}