经过几篇文章后,我逐渐了解了jQuery中的promise实现。但我不确定是否有任何版本的jQuery是否符合Promise / A.
经过几篇文章后,我逐渐了解了jQuery中的promise实现。但我不确定是否有任何版本的jQuery是否符合Promise / A.
2015年更新:jQuery 3.0是Promises / A +兼容。看到 这个问题在GitHub上 所以3.0 beta是3.0兼容的,当3.0出来时它也兼容。在此之前 - 以下仍然适用。
它们不允许错误处理,并且它们不能很好地与其他实现混合和匹配。
然而, 从版本1.8开始 .then
存在,这意味着你可以使用jQuery实现作为承诺。这是一个尝试修复 这个bug 并成为 更多 承诺/ A合规。有 努力提高互操作性, 无论如何,这是承诺规范的全部内容,这项工作的目标是2.2和1.12。
这意味着从2.2开始,jQuery promises将能够与其他promise库互操作,像任何promise库一样吸收可能,并且根据规范行为更少。
那里有许多好的承诺实施。例如Bluebird是快速的(比jQuery承诺快得多),具有低内存占用,具有惊人的堆栈跟踪和调试支持,并与jQuery承诺无缝地进行互操作并吸收它们。