当前位置: 首页 > news >正文

Promise.all 详解

1. 什么是 Promise.all?

Promise.all 是 JavaScript 中 Promise 对象的一个静态方法,用于并行执行多个异步操作,并在所有操作都完成后得到结果。

它接受一个可迭代对象(通常是数组)作为参数,数组中包含多个 Promise 实例,返回一个新的 Promise。

Promise.all(iterable);

  • 参数iterable 是一个可迭代对象(如数组),其中的每个元素都是一个 Promise 或者非 Promise 值。
  • 返回值:返回一个新的 Promise。

2. 工作原理

  • Promise.all 会等待传入的所有 Promise 都变成 fulfilled(成功),然后返回一个新的 Promise,该 Promise 的状态变为 fulfilled,且返回一个数组,数组中包含所有 Promise 的结果,顺序与传入的 Promise 顺序一致。
  • 如果传入的任意一个 Promise 变为 rejected(失败)Promise.all 返回的 Promise 会立即变为 rejected,且失败原因就是第一个失败的 Promise 的原因,后续的 Promise 结果会被忽略。

const a1 = Promise.resolve(1);

const a2 = new Promise((resolve) => setTimeout(() => resolve(2), 1000));

const a3 = Promise.resolve(3);

Promise.all([a1, a2, a3]) .then(results => {

console.log(results);

// [1, 2, 3]

}) .catch(error => { console.error('有一个Promise失败了:', error); });

http://www.xdnf.cn/news/484723.html

相关文章:

  • java后端学习
  • 高效率者的特点
  • 三毛电视 1.0 | 央视、卫视、港澳台频道高清秒播,支持多种播放模式和电视投屏
  • C#数组与集合
  • 启用rvzi可视化自己的机器人发现joint state publisher gui没有滑块
  • Python多线程实战:提升并发效率的秘诀
  • 面向复杂环境的高性能通信接口芯片技术解析与应用
  • onvif支持H265
  • AI日报 · 2025年05月16日|Google DeepMind推出AlphaEvolve,能自主设计高级算法的编码代理
  • NFS服务
  • 【洗车店专用软件】佳易王洗车店多项目会员管理系统:一卡多用扣次软件系统实操教程 #扣次洗车管理软件
  • AUTOSAR图解==>AUTOSAR_SWS_ICUDriver_AUTOSAR_SWS_ICUDriver
  • matlab求解问题
  • 14、Python时间表示:Unix时间戳、毫秒微秒精度与time模块实战
  • Day 27 函数专题2 装饰器
  • 读取toml, 合并,生成新文件
  • Apollo Client 1.6.0 + @RefreshScope + @Value 刷新问题解析
  • volatile关键字详解
  • 淘宝商家层级存在流量上限怎么办,如何突破流量上限?
  • 梁文锋署名,DeepSeek-V3新论文揭秘:低成本大模型训练如何突破算力瓶颈?
  • 养生:健康生活的极简密码
  • P21-RNN-心脏病预测
  • blender中旋转模型,导入到threejs中带了旋转信息
  • Java与C/C++跨平台互操作深度解析:Project Panama技术实战
  • 一种应用非常广泛的开源RTOS(实时操作系统):nuttx
  • Spring Security vs Shiro vs Sa-Token
  • 2024年美团春招技术岗第一批笔试
  • 23、电网数据管理与智能分析 - 负载预测模拟 - /能源管理组件/grid-data-smart-analysis
  • nfs网络文件系统
  • 网站推荐(第四期)