javascript - 有没有像 Promise.all() 这样的函数,但即使在一个失败之后也会运行所有的 Promise?
问题描述
Promise.all()
一旦其中一个承诺失败,似乎就会解决,即使有些人拒绝,我也想运行所有承诺。有这个功能吗?
解决方案
您可以使用Promise.allSettled()
,新的 Promise API 将在提供的数组中的所有 Promise 对象都已解决(即完成或拒绝)时解析。
then 回调中的值将有一个对象数组,该数组有两个键status
,并 value
描述给定数组中每个单独承诺的结果:
Promise.allSettled([
Promise.resolve("Resolved Immediately"),
new Promise((res, rej) => {
setTimeout(res("Resolved after 3 secs"), 3000)
}),
Promise.reject(new Error("Rejected Immediately"))
]).then(arr => console.log(arr));
推荐阅读
- reactjs - 如何从material-ui返回值状态
使用 inputProps - powershell - PowerShell - 对存储在本地设备中的 Chrome 91.0.4472.106 cookie 应用 AES-256-GCM 解密
- python - 计算熊猫数据框中 ID 的出现次数
- java - 检查 Firebase 上的值并开始特定活动
- linux - 如何链接 curl 以使一个的输出成为另一个的输入?
- css - 将 CSS 类添加到空段落
- c++ - windeployqt - 用于 Qt Creator C++ Widgets 项目 - 追随 PyQt - 如何改变这种行为?
- javascript - Javascript DIV按类名滚动到底部不起作用
- javascript - 如何从 Google 表格数据继承 HTML 到 Google WebApp?
- snowflake-cloud-data-platform - 在从雪管加载数据之前截断雪花表