const p1 = new Promise((resolve, reject) => { resolve('p1'); }); const p2 = new Promise((resolve, reject) => { resolve('p2'); }); const p3 = new Promise((resolve, reject) => { reject('p3'); }); // 确保执行到最后 Promise.all([p1, p3, p2].map(p=>p.catch(e=>'出错后返回的值'))).then(values=>{ console.log(values) }).catch(err=>{ console.log(err) }) // 不能确保执行到最后 Promise.all([p1, p3, p2]).then(values=>{ console.log(values) }).catch(err=>{ console.log(err) }) /** * 方法就是使用map过滤每一个promise任务 */