规范没有涵盖Promise 库的哪些方面?实现之间有哪些不同?
请举例说明实际差异(例如 Bluebird 和 Q 之间的差异)。
规范没有涵盖Promise 库的哪些方面?实现之间有哪些不同?
请举例说明实际差异(例如 Bluebird 和 Q 之间的差异)。
几乎所有的。Promises/A+ 规范旨在实现 Promise 互操作性,它的构建使得 Promises 库(现在是原生 Promise)可以相互通信。这个想法是为了可以预测 promise 的行为方式并定义 promise 如何被其他库吸收。
引用规范:
该规范详细说明了该
then
方法的行为,提供了一个可互操作的基础,所有符合 Promises/A+ 的 Promise 实现都可以依赖该基础来提供。因此,规范应该被认为是非常稳定的。尽管 Promises/A+ 组织可能偶尔会修改此规范,并通过较小的向后兼容更改来解决新发现的极端情况,但只有在仔细考虑、讨论和测试后,我们才会集成大型或向后不兼容的情况。最后,核心 Promises/A+ 规范不涉及如何创建、履行或拒绝 Promise,而是选择专注于提供可互操作的 then 方法。未来的配套规范工作可能会涉及这些主题。
不包括以下内容:
.all
)。例如,Bluebird 和 Q 都完全是 Promises/A+ 投诉,但在很多方面有所不同:
this
值进行范围绑定。.bind
.map
.reduce
.filter