Promise 对象

Exisi 2020-06-19 15:00:15
Categories: Tags:

 

 

 

 

 

 

构造函数

说明

Promise()

创建一个新的 Promise 对象。构造函数主要用于包装不支持 Promise 的函数

 

静态方法

说明

all(iterable)

等待所有的承诺都被履行,或者任何被拒绝。

如果返回的 Promise 实现了,它会使用来自已实现的 Promise 的值的聚合数组来实现,其顺序与多个 Promise 的可迭代中定义的顺序相同。

如果它被拒绝,它会以被拒绝的迭代中第一个承诺的原因被拒绝。

allSettled(iterable)

等到所有的承诺都解决了(每个承诺都可以履行或拒绝)。

返回一个 Promise,它在所有给定的 Promise 都被实现或被拒绝后实现,并带有一组对象,每个对象都描述每个 Promise 的结果

any(iterable)

获取一个 Promise 对象的可迭代对象,并且一旦可迭代对象中的一个 Promise 实现,就返回一个以该 Promise 的值实现的 Promise

race(iterable)

等到任何承诺被履行或拒绝。

如果返回的 Promise 实现了,它会用实现的 iterable 中的第一个 Promise 的值来实现。

如果它拒绝,它会以第一个被拒绝的承诺的原因被拒绝

reject(reason)

返回一个新的 Promise 对象,该对象因给定原因被拒绝。

resolve(value)

返回使用给定值解析的新 Promise 对象。如果该值是 thenable(即具有 then 方法),则返回的 promise 将“跟随”该 thenable,采用其最终状态;否则,返回的 Promise 将用该值实现。

一般来说,如果你不知道一个值是否是一个承诺, Promise.resolve(value) 代替它并将返回值作为一个承诺。

实例方法

说明

Promise.prototype.catch()

将拒绝处理程序回调附加到 Promise,并返回一个新的 Promise,如果它被调用,则解析为回调的返回值,或者如果 Promise 被实现,则返回其原始的实现值。

Promise.prototype.then()

将履行和拒绝处理程序附加到承诺,并返回一个新的承诺,解析为被调用处理程序的返回值,或者如果未处理承诺(即相关处理程序 onFulfilled onRejected 不是函数),则返回其原始结算值

Promise.prototype.finally()

将处理程序附加到 Promise,并返回一个新的 Promise,该 Promise 在原始 Promise 被解决时被解决。处理程序在承诺完成时被调用,无论是履行还是拒绝

 

 

来自 <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise>