任何jQuery版本是否符合Promise / A规范?

经过几篇文章后,我逐渐了解了jQuery中的promise实现。 但我不确定是否有任何版本的jQuery是否符合Promise / A.

2015年更新:jQuery 3.0是Promises / A +兼容。 在GitHub上看到这个问题所以3.0 beta是3.0兼容的,当3.0出来时它也兼容。 在此之前 – 以下仍然适用。

所有jQuery版本(最多3.0)都具有破坏的承诺实现

它们不允许error handling,并且它们不能很好地与其他实现混合和匹配。

但是, 由于版本1.8。然后存在 ,这意味着您可以使用jQuery实现作为承诺。 这是尝试修复此错误并变得符合Promises / A. 努力提高互操作性 , 无论如何承诺规范都是如此 ,该努力的目标是2.2和1.12。

这意味着从2.2开始,jQuery promises将能够与其他promise库互操作,像任何promise库一样吸收可能,并且根据规范行为更少。

对于所有实际用途,您应该考虑另一种实现。

那里有许多好的承诺实施。 例如Bluebird是快速的(比jQuery承诺快得多),具有低内存占用,具有惊人的堆栈跟踪和调试支持,并与jQuery承诺无缝地进行互操作并吸收它们。