调试数据arr
function a(){
return new Promise((resolve,reject)=>{
resolve(1);
})
}
function b(){
return new Promise((resolve,reject)=>{
resolve(2);
})
}
function c(){
return new Promise((resolve,reject)=>{
resolve(3);
})
}
function d(){
return new Promise((resolve,reject)=>{
resolve(4);
})
}
const arr = [a,b,c,d];
1.async+await方法
async function doPromise(arr) {
for (let i = 0; i < arr.length; i++) {
let res = await arr[i]();
console.log(res);
}
}
doPromise(arr);
2.递归方法
function doPromise(arr) {
function doing(i){
if(i==arr.length) return;
arr[i]().then(res=>{
console.log(res);
doing(++i);
})
}
doing(0);
}