在JavaScript中,Promise
对象有几个内置的方法:
-
Promise.resolve(value)
:返回一个解析过的 Promise 对象,该对象的状态和值分别由value
决定。 -
Promise.reject(reason)
:返回一个拒绝的 Promise 对象,该对象的状态和原因分别由reason
决定。 -
Promise.all(iterable)
:接收一个可迭代对象(比如数组),并返回一个 Promise,该 Promise 在可迭代对象中的所有 Promise 都已解析或被拒绝后解析,返回一个包含所有 Promise 解析值的数组,顺序与可迭代对象中的顺序相同。 -
Promise.race(iterable)
:接收一个可迭代对象,并返回一个 Promise,该 Promise 在可迭代对象中的任意 Promise 被解析或拒绝后立即解析或拒绝,并且以第一个完成的 Promise 的结果或原因作为返回值。 -
Promise.allSettled(iterable)
:接收一个可迭代对象,并返回一个 Promise,该 Promise 在可迭代对象中的所有 Promise 都已解析或被拒绝后解析,返回一个包含所有 Promise 状态的对象的数组,每个对象表示对应的 Promise 的结果。 -
Promise.any(iterable)
:接收一个可迭代对象,并返回一个 Promise,该 Promise 在可迭代对象中的任意 Promise 被解析后立即解析,如果可迭代对象中的所有 Promise 都被拒绝,则返回一个拒绝的 Promise,其中包含一个AggregateError
对象,它持有一个数组,数组中的每个元素是一个被拒绝的 Promise 对象的原因。