Promises/A+ 规范(译本)

简介

promise 表示异步操作的最终结果。与 promise 进行交互的主要方式是通过 then 方法,该方法可以注册回调,以接收 promise 的完成值或无法完成 promise 的原因。

该规范详细说明了 then 方法的行为,提供了一个可交互的基础,所有与 Promises/A+ 规范一致的 promise 实现都可以依赖于它。因此,该规范应被视为是非常稳定的。尽管 Promises/A+ 组织有时会通过向后兼容的微小更改来修订此规范,以解决新发现的极端情况,但只有经过仔细考虑,讨论和测试之后,我们才会集成大的或向后不兼容的更改。

从历史上看,Promises/A+ 阐明了较早 Promises/A 提案 的行为条款,将其扩展到涵盖实际行为,并省略了未指定或有问题的部分。

最后,核心的 Promises/A+ 规范不涉及如何创建、完成或拒绝 Promise,而是选择专注于提供可交互的 then 方法。未来的相关规范工作可能会涉及到这些主题。

1. 术语

  • 1.1. "promise"是一个行为符合此规范的,具有 then 方法的对象或函数。

  • 1.2. "thenable"是具有 then 方法的对象或函数。

  • 1.3. "value"是任何合法的 JavaScript 值(包括 undefined,thenable 或 promise)。

  • 1.4. "exception"是使用 throw 语句抛出的值。

  • 1.5. "reason"用于表示 promise 的拒绝原因。

2. 要求

2.1 Promise 状态

一个 promise 必须处于以下三种状态之一:pending, fulfilled 或者 rejected。

2.1.1 当处于 pending 时,一个 promise:

  • 2.1.1.1 可能会转换为 fulfilled 或者 rejected 状态。

2.1.2 当处于 fulfilled 时,一个 promise:

  • 2.1.2.1 不能再被转换为其他任何状态。

  • 2.1.2.2 必须具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Promise A是Promise/A规范的一部分,它定义了一种对Promise对象进行交互的方式。根据Promise/A规范,一个Promise对象需要暴露一个遵循Promise/A协议的then方法。这样的设计使得Promise的实现更加通用,因为只要一个对象暴露了符合规范的then方法,它就可以被视为Promise对象,而不必强制要求完全符合规范。这也使得符合Promise/A规范的实现可以与不太规范但可用的实现能够很好地共存。 在Promise的解决过程中,[[Resolve]](promise, x)是一个抽象操作,它接收一个Promise对象和一个值作为输入。如果值x有then方法且看起来像一个Promise对象,那么解决过程将尝试让promise接收x的状态。否则,解决过程将使用x的值来完成(fulfilled)promise。 一个Promise代表一个异步操作的最终结果,通过它的then方法与Promise进行交互。then方法注册了两个回调函数,用于接收Promise的最终结果或导致Promise无法被完成(fulfilled)的原因。通常,第一个回调函数用于处理Promise的成功情况,第二个回调函数用于处理Promise的失败情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Promises/A+ 规范](https://blog.csdn.net/u014627807/article/details/120011719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值