SOURCE

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任务
 */
console 命令行工具 X clear

                    
>
console