调试数据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); }