首先promise.all和promise.race 里面 都可以放一个 存储promise对象的数组
promise.all 是数组里面所有的 promise对象执行结束之后 会返回一个 存储所有 promise对象的结果
var runA=function(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('runA方法');
resolve('a')
},3000)
})
}
var runB=function(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log('runB方法');
resolve('b');
},4000)
})
}
Promise.all([runA(),runB()]).then((res)=>{console.log(res)}); // 输出 ["a", "b"]
promise.race 顾名思义 race就是比赛的意思 只会返回一个执行速度最快的那个promise对象返回的结果
注意:其他的异步函数照样还是会执行的 只是 不会再 执行 resolve和reject 也不会返回结果了 但函数还是会执行的 如:还是会打印 console.log('runB方法') 只会不会执行 下面的 resolve('b')
Promise.all([runA(),runB()]).then((res)=>{console.log(res)}); // 输出 a