Promise 对象的结构是什么样的,它有哪些方法?

一个 Promise 对象代表一个异步操作的最终完成(或失败)及其结果值。它允许你将异步操作的结果与成功时或失败时的回调函数关联起来。

Promise 对象的方法:

  1. Promise.prototype.then(onFulfilled, onRejected) : 添加解析成功和解析失败的回调函数。onFulfilled 是解析成功时调用的函数,onRejected 是解析失败时调用的函数。then 方法返回一个新的 Promise 对象。

  2. Promise.prototype.catch(onRejected) : 添加解析失败的回调函数。这等同于调用 Promise.prototype.then(undefined, onRejected)catch 方法返回一个新的 Promise 对象。

  3. Promise.prototype.finally(onFinally) : 添加一个回调函数,无论 Promise 成功解析还是被拒绝,都将执行该回调。它在 Promise 链中的最后执行,并且返回一个新的 Promise 对象。

静态方法:

  1. Promise.resolve(value) : 返回一个解析为给定值的 Promise 对象。如果传入的值本身就是一个 Promise,它将不会被包装,而是直接返回。

  2. Promise.reject(reason) : 返回一个被拒绝的 Promise 对象,并提供拒绝的原因。

  3. Promise.all(iterable) : 返回一个 Promise,该 Promise 会等待所有传入的 Promise 对象解析完成。如果任何一个传入的 Promise 被拒绝,返回的 Promise 也会立即被拒绝,并返回第一个拒绝的原因。

  4. Promise.allSettled(iterable) : 返回一个 Promise,该 Promise 会等待所有传入的 Promise 对象解析或被拒绝。返回一个新的 Promise 对象,解析为传入的 Promise 对象的最终状态数组。

  5. Promise.race(iterable) : 返回一个 Promise,它将解析或拒绝,具体取决于传入的 Promise 对象中第一个解析或被拒绝的那个。

  6. Promise.any(iterable) : 接收一个 Promise 对象的集合,并返回第一个解析的 Promise 的值。如果所有的 Promise 都被拒绝,则返回一个新的 Promise,包括一个 AggregateError 类型的错误。

注意,Promise 对象不允许外部直接访问其内部状态或值。它们的状态和值只能通过上述方法和回调函数进行访问和操作。

相关推荐
寻找沙漠的人6 分钟前
前端知识补充—CSS
前端·css
GISer_Jing17 分钟前
2025前端面试热门题目——计算机网络篇
前端·计算机网络·面试
m0_7482455219 分钟前
吉利前端、AI面试
前端·面试·职场和发展
用余生去守护25 分钟前
python报错系列(16)--pyinstaller ????????
开发语言·python
数据小爬虫@30 分钟前
利用Python爬虫快速获取商品历史价格信息
开发语言·爬虫·python
理想不理想v31 分钟前
webpack最基础的配置
前端·webpack·node.js
向宇it32 分钟前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
pubuzhixing34 分钟前
开源白板新方案:Plait 同时支持 Angular 和 React 啦!
前端·开源·github
2401_8576009544 分钟前
SSM 与 Vue 共筑电脑测评系统:精准洞察电脑世界
前端·javascript·vue.js
2401_8576009544 分钟前
数字时代的医疗挂号变革:SSM+Vue 系统设计与实现之道
前端·javascript·vue.js