JavaScript Promise.allSettled()2025 年 4 月 23 日 | 2 分钟阅读 在 JavaScript 中,Promise.allSettled() 方法允许并发处理多个 Promise 并返回一个单一的 Promise。此 Promise 解析为一个状态描述符数组,每个描述符都详细说明了输入数组中对应 Promise 的结果。 简单来说,Promise.allSettled() 方法等待所有 Promise 解决(fulfilled 或 rejected),并返回一个包含它们结果的数组。 语法 参数
示例编译并运行输出 { status: 'fulfilled', value: 30 } { status: 'rejected', reason: 'Hello' } 何时使用 Promise.allSettled() 在 JavaScript 中,当您需要确保所有 Promise 都完成,无论它们是解决还是拒绝状态时,请使用 Promise.allSettled()。此方法对于平稳地管理成功和失败特别有益,而不会在第一次拒绝时停止。 Promise.allSettled 的示例示例 1编译并运行输出 { status: 'fulfilled', value: 'Hello' } { status: 'fulfilled', value: 'Bye' } 说明 在这段代码中,两个 Promise 都以“Hello”和“Bye”的值在 1 秒内解决。Promise.allSettled() 返回一个 Promise,该 Promise 解析为包含两个元素的 Result 数组。第一个元素是 Promise1 解决的对象,第二个元素是 Promise2 拒绝的另一个对象。 示例 2编译并运行输出 { status: 'fulfilled', value: 'okay' } { status: 'rejected', reason: 'nothing' } 说明 在这段代码中,第一个 Promise p1 在一秒后解决为值“okay”。第二个 Promise p2 在两秒后因原因“nothing”而拒绝。 Promise.allSettled() 返回一个 Promise,该 Promise 解析为包含两个元素的 Result 数组。第一个元素是 Promise p1 解决的对象,第二个元素是 Promise p2 拒绝的另一个对象。 结论Promise.allSettled() 方法接受一个 Promise 的可迭代集合并返回一个新的 Promise。一旦每个输入 Promise 都已解决,此新 Promise 就会解析,提供一个对象数组,详细说明可迭代对象中每个 Promise 的结果。 |
在 JavaScript 中,Promise 对象的 finally() 方法在 Promise 被完成(settled)时返回一个回调。JavaScript 中的 Promise.finally() 方法会执行一个回调,无论 Promise 的结果如何,并且通常用于清理任务。简单来说,Promise 实例的 finally() 方法……
阅读 3 分钟
当我们在可迭代对象(如数组)中提供的 Promise 中有一个被正确满足或解析时,该过程会返回一个接受或拒绝的 Promise。Promise.any() 是并发 Promise 方法之一。它通过此方法返回第一个已完成的 Promise……
5 分钟阅读
Promise 链是一个简单的概念,它允许我们在 .then() 方法中初始化第二个 Promise,然后将我们的结果作为后果执行。然后,由前一个 Promise 返回的值被捕获在函数内部。在某些情况下,我们需要……
5 分钟阅读
在 JavaScript 中,async/await 提供了一种更简洁、更具可读性的处理 Promise 的方法,使异步代码看起来更像同步代码。async 用于将函数声明为异步,await 会暂停执行直到 Promise 解析,这有助于简化……
阅读 4 分钟
教程编译器 Promise 闭包 DOM 面试题 JavaScript 中的 Promise 是一个对象,用于表示异步操作的最终完成或失败。借助...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India