在阅读了几篇文章之后,我逐渐了解了jQuery中的promise实现。但我不确定是否有任何版本的jQuery是否符合Promise / A.
答案 0 :(得分:17)
2015年更新:jQuery 3.0是Promises / A +兼容。请参阅this issue on GitHub,因此3.0 beta兼容3.0,当3.0出来时它也兼容。在此之前 - 以下仍然适用。
他们不能很好地处理错误,并且他们不能很好地混合和匹配其他实现。
然而,since version 1.8 .then
exists,这意味着你可以使用jQuery实现作为承诺。这是尝试修复this bug并变得更多 Promises / A兼容。有an effort to improve interoperability,这是承诺规范的全部内容,该努力的目标是2.2和1.12。
这意味着从2.2开始,jQuery promises将能够与其他promise库互操作,像任何promise库一样吸收可能的,并且根据规范行为不那么错误。
那里有许多好的承诺实施。例如Bluebird很快(比jQuery承诺快得多),具有低内存占用,具有惊人的堆栈跟踪和调试支持,并与jQuery承诺无缝地进行互操作并吸收它们。