// Promise.all([promise数组:{要求数组中的每一项尽可能都是promise实例}]):返回一个新的promise实例AA,AA成功还是失败,取决于数组中的每一个promise实例是成功还是失败,只要有一个是失败,AA就是失败的,只有都成功AA才是成功的
// Promise.race:传入一个数组,最先知道状态的promise实例,是成功还是失败,决定了AA是成功还是失败
function fn(interval) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(interval);
}, interval);
});
}
let p1 = fn(3000);
let p2 = fn(1000);
let p3 = Promise.reject(0);
Promise.all([p1, p2, p3]).then(results => {
// 不论谁先知道状态,最后结果的顺序和传递数组的顺序要保持一致
console.log(results);
}).catch(reason => {
// 处理过程中,遇到一个失败,则All立即为失败,结果就是当前实例失败的原因
console.log(reason);
});
Promise.all(race)
最新推荐文章于 2024-02-27 11:35:18 发布