Promise的all方法和race方法:参数都是数组,数组里面是n个promise函数。
Promise的all方法
let p1 = new Promise((resolve) => {
setTimeout(() => {
resolve(1);
}, 1000);
})
let p2 = new Promise((resolve) => {
setTimeout(() => {
resolve(2);
}, 2000);
})
let p3 = new Promise((resolve) => {
setTimeout(() => {
resolve(3);
}, 3000);
})
let pp = Promise.all([p1, p2, p3]);
console.log(pp);
3秒过后输出一个已完成的Promis对象,PromiseValue是一个数组里面的值是1,2,3;
// let pp = Promise.race([p1, p2, p3]);
// console.log(pp);
1秒骨骺输出一个已完成的Promis对象,PromiseValue的值是第一个完成的Promise对象返回的值1;
all可以用于设定当某几个事件或者操作完成的时候接下来会做什么,race则用于判断几个事件或者几个操作中当有一个是完成了则进行设定的操作。