Promise静态方法:.any、.all、.allSettled、.race 及 API:.then、.catch、.finally。

Promise静态方法:.any、.all、.allSettled、.race 及 API:.then、.catch、.finally。

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

Promise静态方法包括.any、.all、.race、.allSettled、.resolve和.reject,分别用于处理多个Promise的不同场景:.any在任一Promise成功时解析,.all在所有Promise成功时解析,.race在第一个Promise完成时解析,.allSettled等待所有Promise完成并返回状态,.resolve和.reject用于创建已解析或已拒绝的Promise。Promise实例方法.then、.catch和.finally用于处理结果和错误。

🎯

关键要点

  • Promise静态方法包括.any、.all、.race、.allSettled、.resolve和.reject,用于处理多个Promise的不同场景。

  • Promise.any:当任一Promise成功时解析,如果所有Promise都被拒绝,则返回AggregateError错误。

  • Promise.all:当所有Promise成功时解析,如果任一Promise被拒绝,则返回拒绝状态。

  • Promise.race:返回第一个完成的Promise,无论是成功还是失败。

  • Promise.allSettled:等待所有Promise完成,返回每个Promise的状态。

  • Promise.resolve(value):返回一个已解析的Promise,如果值是Promise,则返回该Promise。

  • Promise.reject(reason):返回一个已拒绝的Promise,常用于模拟错误。

  • Promise实例方法包括.then、.catch和.finally,用于处理结果和错误。

  • .then(onFulfilled, onRejected):处理Promise的解析或拒绝结果。

  • .catch(onRejected):处理Promise链中的任何拒绝,等同于.then(null, onRejected)。

  • .finally(onFinally):无论Promise是成功还是失败,都会执行,常用于清理工作。

延伸问答

Promise.any方法的作用是什么?

Promise.any方法在任一Promise成功时解析,如果所有Promise都被拒绝,则返回AggregateError错误。

Promise.all与Promise.any有什么区别?

Promise.all在所有Promise成功时解析,如果任一Promise被拒绝则返回拒绝状态,而Promise.any只要任一Promise成功就解析。

如何使用Promise.race方法?

Promise.race方法返回第一个完成的Promise,无论是成功还是失败,使用时只需传入Promise数组。

Promise.allSettled的返回结果是什么?

Promise.allSettled返回一个数组,包含每个Promise的状态,状态可以是fulfilled或rejected。

Promise.resolve和Promise.reject的用途是什么?

Promise.resolve用于创建已解析的Promise,而Promise.reject用于创建已拒绝的Promise,常用于模拟错误。

Promise实例方法.then的作用是什么?

.then用于处理Promise的解析或拒绝结果,可以传入两个回调函数,分别处理成功和失败的情况。

➡️

继续阅读