Javascript 什么';承诺与承诺的区别是什么;规范和ECMA规范';s的承诺部分?

Javascript 什么';承诺与承诺的区别是什么;规范和ECMA规范';s的承诺部分?,javascript,es6-promise,Javascript,Es6 Promise,ECMA脚本已经对Promise有了定义,那么Promise/a+存在的原因是什么呢?事实上是相反的。Promise/A+规范首先编写,然后使用bluebird和其他库在JS中实现。然后,ECMA规范的作者认为需要本机支持它,并将其添加到ES 6规范中。它们之间没有真正的区别,因为ES规范遵循a+规范。它的存在是因为“已经”,虽然现在是这样,但在编写a+规范时不是这样。原生承诺是一项相对较新的功能。@jonrsharpe如果我想创建自己的承诺obj,我应该遵循哪种规范?@saltfish尝试两种

ECMA脚本已经对Promise有了定义,那么Promise/a+存在的原因是什么呢?

事实上是相反的。Promise/A+规范首先编写,然后使用bluebird和其他库在JS中实现。然后,ECMA规范的作者认为需要本机支持它,并将其添加到ES 6规范中。它们之间没有真正的区别,因为ES规范遵循a+规范。

它的存在是因为“已经”,虽然现在是这样,但在编写a+规范时不是这样。原生承诺是一项相对较新的功能。@jonrsharpe如果我想创建自己的承诺obj,我应该遵循哪种规范?@saltfish尝试两种方法,看看哪种最适合你。。。只有一种方法可以找到答案,那就是尝试。A+有一个可以用来测试实现的。不确定ECMAScript是否有专用的。如果有兴趣,您可以查看我的个人文档,其中介绍了如何基于原始的Promise/a+规范(在ES6之前存在)实现Promise对象,并在代码注释中引用了每个需求。本机承诺是一致的,这并不意味着没有差异。例如,尽管它们支持thenable接口,但本机承诺也是可捕获的。