news 2026/4/16 12:37:31

Promise 包含的属性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Promise 包含的属性

实例属性

  1. Promise.prototype.constructor- 创建实例对象的构造函数

  2. Promise.prototype[Symbol.toStringTag]- 用于Object.prototype.toString(),值为"Promise"

实例方法

  1. then(onFulfilled, onRejected)- 附加兑现和拒绝处理器,返回新 Promise

  2. catch(onRejected)- 附加拒绝处理回调函数,返回新 Promise

  3. finally(onFinally)- 附加处理器,无论 Promise 状态如何都会执行

静态属性

  1. Promise[Symbol.species]- 返回用于构造返回值的原生构造函数

静态方法

async function getData() { const [users, posts, comments] = await Promise.all([ fetchUsers(), fetchPosts(), fetchComments() ]); return { users, posts, comments }; }

Promise.all 非常适合需要等待多个不相关异步操作完成的场景,能够显著提高代码执行效率。

使用示例

const promise1 = Promise.resolve(3); const promise2 = 42; const promise3 = new Promise((resolve, reject) => { setTimeout(resolve, 100, "foo"); }); Promise.all([promise1, promise2, promise3]).then((values) => { console.log(values); // [3, 42, "foo"] });

错误处理

const p1 = Promise.resolve(33); const p2 = Promise.reject(new Error("失败")); Promise.all([p1.catch(err => err), p2.catch(err => err)]) .then(values => { console.log(values[0]); // 33 console.log(values[1]); // Error: 失败 });
  1. Promise.all(iterable)- 等待所有 Promise 完成

  2. Promise.allSettled(iterable)- 等待所有 Promise settled

  3. Promise.any(iterable)- 等待任一 Promise 兑现

  4. Promise.race(iterable)- 等待第一个 settled 的 Promise

  5. Promise.resolve(value)- 返回已解决的 Promise

  6. Promise.reject(reason)- 返回已拒绝的 Promise

  7. Promise.try(callback)- 包装任意回调函数结果为 Promise

  8. Promise.withResolvers()- 返回包含 Promise 和 resolve/reject 函数的对象

    Promise.all 详解

    基本语法

    Promise.all(iterable)

    特点

  9. 并发执行:同时处理多个异步操作

  10. 快速失败:任一 Promise 拒绝则立即拒绝

  11. 顺序保持:结果数组顺序与输入 Promise 顺序一致

Promise.all 非常适合需要等待多个不相关异步操作完成的场景,能够显著提高代码执行效率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 6:01:36

Java计算机毕设之基于SpringBoot的高校校园网故障管理系统区域带宽异常运维(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/16 6:03:07

支持按小时计费灵活适应短期项目需求

支持按小时计费灵活适应短期项目需求 在高校实验室的深夜,一个研究生正为明天组会要汇报的模型结果焦头烂额——本地环境跑不通代码,远程服务器还没配好依赖。类似场景每天都在上演:竞赛截止前48小时才拿到GPU资源、新同事花了三天才把项目环…

作者头像 李华
网站建设 2026/4/16 3:22:03

邀请KOL测评并发布第三方评价内容

邀请KOL测评并发布第三方评价内容 在AI模型复现难、开发环境“在我机器上能跑”的时代,一个可复制、易验证的技术评测流程,比任何营销话术都更有说服力。越来越多的开源项目和云服务开始采用“邀请KOL测评”这一策略——不是简单地送个试用账号&#xff…

作者头像 李华
网站建设 2026/4/16 7:44:05

Docker run参数详解:运行Miniconda-Python3.10容器实战

Docker运行Miniconda-Python3.10容器实战:从参数解析到Jupyter与SSH应用 在数据科学和AI开发日益普及的今天,一个常见的困扰是:“代码在我机器上能跑,为什么换台设备就不行?”这种“环境不一致”问题背后,往…

作者头像 李华
网站建设 2026/4/16 7:45:19

提供一键部署脚本减少用户初始使用阻力

提供一键部署脚本减少用户初始使用阻力 在人工智能项目开发中,一个常见的尴尬场景是:团队成员拿到一份精美的模型代码仓库,兴致勃勃地准备复现实验结果,却卡在了第一步——环境配置。pip install 报错、依赖冲突、Python 版本不兼…

作者头像 李华
网站建设 2026/4/16 7:48:48

导航型关键词如‘miniconda官网’可用于品牌防护

导航型关键词如“miniconda官网”可用于品牌防护 在人工智能和数据科学项目日益复杂的今天,一个看似微小的环境配置问题,可能直接导致模型训练失败、实验无法复现,甚至引发安全漏洞。而在这背后,有一个常被忽视却至关重要的环节—…

作者头像 李华