taoliujun / blog

https://taoliujun.github.io/blog/
https://taoliujun.github.io/blog/
0 stars 0 forks source link

整理ES6:Promise的忽略点和几个方法的区别 #2

Open taoliujun opened 1 year ago

taoliujun commented 1 year ago

Promise是业务开发中使用率最高的ES6方法了,但日常容易忽略几个点,以及记不得它几个方法的区别,现记录。

容易忽略的点

几个方法的区别

方法 resolved的前提 rejected的前提 说明
all 全部resolved 任一rejected -
race 任一resolved 任一rejected 任一率先改变的状态,传递给p
allSettled 全部改变 - 状态全部改变,传递给p。格式为:
{status: 'fulfilled', value: value}
或者
{status: 'rejected', reason: reason}
any 任一resolved 全部rejected 传递给catch的是一个AggregateError实例
taoliujun commented 1 year ago

AggregateError

AggregateError封装了Error数组,它的结构是:

AggregateError(errors[, message])

AggregateError()构造函数可以接受两个参数。

taoliujun commented 1 year ago

欢迎大家在此讨论