Promise.all作为js里面的一个方法,使用起来简单明了,只需要将多个 Promise 对象组成的数组作为参数传递给 Promise.all 方法,并通过.then()方法来处理返回的 Promise 对象的结果
const res1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('res1 resolved');
}, 100);
});
const res2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('res2 resolved');
}, 100);
});
const res3 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('res3 resolved');
}, 100);
});
Promise.all([res1, res2, res3]).then(([res1, res2, res3]) => {
// 所有 Promise 对象都成功时的结果数组
console.log('res1', res1);
console.log('res2', res2);
console.log('res3', res3);
}).catch(err=> {
// 如果任何一个 Promise 对象失败,则会捕获到错误
console.error(err);
}).finally(() => {
// 不管结果如何,都会执行
})