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

2024-03-16

在阅读了几篇文章之后,我开始知道 jQuery 中存在 Promise 实现。但我不确定 jQuery 的任何版本是否兼容 Promise/A。


2015 更新:jQuery 3.0 与 Promises/A+ 兼容。看这个问题在 GitHub 上 https://github.com/jquery/jquery/pull/1996所以 3.0 beta 是兼容 3.0 的,当 3.0 发布时它也将兼容。在那之前 - 以下内容仍然适用。

所有 jQuery 版本(最高 3.0)都具有违背承诺的实施 https://stackoverflow.com/a/23744774/1348195

它们不允许很好地处理错误,并且不能与其他实现很好地混合和匹配。

然而,从1.8版本开始.then exists http://api.jquery.com/deferred.then/,这意味着您可以像承诺一样使用 jQuery 实现。这是修复的尝试this bug http://bugs.jquery.com/ticket/11010并成为more符合承诺/A。有努力提高互操作性 http://bugs.jquery.com/ticket/14510, 无论如何,这就是承诺规范的全部内容,该努力的目标是 2.2 和 1.12。

这意味着从 2.2 开始,jQuery Promise 将能够与其他 Promise 库互操作,像任何 Promise 库一样同化 thenables,并且根据规范表现得更少。

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

那里有很多良好的承诺实施。例如,Bluebird 速度很快(比 jQuery Promise 快得多),内存占用低,具有令人惊叹的堆栈跟踪和调试支持,以及与 jQuery Promise 无缝互操作并吸收它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有任何 jQuery 版本符合 Promise/A 规范? 的相关文章