promise的三种状态
- pending(进行中)
- fulfilled(已成功)
- rejected(已失败)
实例方法
传入一个回调函数callback
- then(callback)
链式调用,执行回调函数。 - -catch(callback)
指定错误时的回调函数。 - -finally(callback)
无论成功或者失败都会进行执行的函数。
静态方法
all/race/allSettled/any 接受一个数组或者具有Iterator接口。并行发起异步执行。
- all()
如果结果全部fulfilled,那么返回的也是一个数组,和接收的数组一一对应。如果有一个rejected,就返回rejected的结果。 - race()
race返回的是最先获取到的结果。谁先执行完毕就先获取谁的结果,这个结果不区分fulfilled/rejected。 - allSettled()
返回的是一个数组,和接收的数组一一对应。子元素是一个对象,fulfilled的情况下是{value: ‘XXX’, status: ‘fulfilled’}, rejected的情况下是{reason:’xxx‘, status:‘rejected’} - any()
race返回的是最先获取到的fulfilled结果。注意是fulfilled的结果。只有所有的执行结果都为rejected,才会返回rejected。 - resolve()
- reject()