Promise.all() 和 Promise.race()

一、Promise.all()

接收一个参数,它必须是可以迭代的,比如数组。(它返回一个Promise实例)
它通常用来处理一些并发的异步操作,即它们的结果互不干扰,但是又需要异步执行。它最终只有两种状态:成功或者失败,当里面的所有Promise实例状态发生变化的时候它才会变。
它的状态受参数内各个值的状态影响,即里面状态全部为fulfilled时,它才会变成fulfilled,否则变成rejected
成功调用后返回一个数组,数组的值是有序的,即按照传入参数的数组的值操作后返回的结果。
在这里插入图片描述

二、Promise.race()

Promise.race()和Promise.all()类似,都接收一个可以迭代的参数(如,数组),但是不同之处是Promise.race()的状态变化不是全部受参数内的状态影响,一旦参数内有一个值的状态发生的改变,那么该Promise的状态就是改变的状态。就跟race单词的字面意思一样,谁跑的快谁赢。
返回一个最先加载完的 Promise实例
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_38134431/article/details/84324553