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