池州市网站建设_网站建设公司_AJAX_seo优化
2025/12/30 22:22:21 网站建设 项目流程

实例属性

  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 非常适合需要等待多个不相关异步操作完成的场景,能够显著提高代码执行效率。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询