89500297 2019-12-16
Promise 静态方法
allSettled 返回结果是个对象数组,对象数组中值的顺序和传入Promise时的顺序一致。
返回所有promise的执行结果,只能在then中获取,不执行catch。
每个对象包含
status(Promise状态),
value(Promise执行成功的结果),
reason(Promise执行失败的结果)。
all 返回结果,取决于Promise执行的情况,
如果有大于等于1个promise报错,会抛出错误在catch中捕获,
错误的信息是最先 reject 的单个promise的信息。
如果所有promise都执行成功,会返回所有promise执行的结果值,
且数组值的顺序和传入Promise时的值顺序一致。
race 返回结果,当Promise对象数组有Promise已执行,对应的race方法就会执行。
马上执行最先响应的Promise的reject 或 resolve回调方法,结果就是最快那个Promise执行的值。
只有一个resolve或reject的值。
注:allSettled 、all、 race 方法本身也是返回Promise对象[object Promise] ,但是随后只能有一个catch方法会被调用,可以有多个then但也需要返回值。