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 对象不允许外部直接访问其内部状态或值。它们的状态和值只能通过上述方法和回调函数进行访问和操作。

相关推荐
JUNAI_Strive_ving9 分钟前
番茄小说逆向爬取
javascript·python
落落落sss14 分钟前
MybatisPlus
android·java·开发语言·spring·tomcat·rabbitmq·mybatis
看到请催我学习19 分钟前
如何实现两个标签页之间的通信
javascript·css·typescript·node.js·html5
简单.is.good31 分钟前
【测试】接口测试与接口自动化
开发语言·python
twins352038 分钟前
解决Vue应用中遇到路由刷新后出现 404 错误
前端·javascript·vue.js
Yvemil71 小时前
MQ 架构设计原理与消息中间件详解(二)
开发语言·后端·ruby
程序员是干活的1 小时前
私家车开车回家过节会发生什么事情
java·开发语言·软件构建·1024程序员节
qiyi.sky1 小时前
JavaWeb——Vue组件库Element(3/6):常见组件:Dialog对话框、Form表单(介绍、使用、实际效果)
前端·javascript·vue.js
煸橙干儿~~1 小时前
分析JS Crash(进程崩溃)
java·前端·javascript
哪 吒1 小时前
华为OD机试 - 几何平均值最大子数(Python/JS/C/C++ 2024 E卷 200分)
javascript·python·华为od