热毛巾 - Durandal是否需要修补才能使用Q而不是jQuery承诺?

时间:2013-05-21 22:54:59

标签: durandal hottowel q

在我的第一个基于John Papa的Hot Towel模板的SPA应用程序的工作中,我遇到了一条说明Durandal使用jQuery承诺的说明,而Hot Towel中的所有其他库都使用Q作为承诺。 Durandal确实有一个页面可以解释如何修补补丁,但我发现我的应用程序在使用和不使用时都可以正常工作。

http://durandaljs.com/documentation/Q/

我已经看到了关于Q的优点的评论,并且我被卖了,但是我想知道是否建议修补Durandal或者不是专家的建议?

1 个答案:

答案 0 :(得分:0)

tl; dr Q和jQuery不可互操作

而不是返回一个新的promise,jQuery会改变现有的一个应该是不可变的。为什么这很重要?因为$ .then函数不再是可链接的,并且错误处理不能按预期方式工作。有可能在非常简单的情况下让它们一起工作,但实际上你不应该这样做。

另一点需要注意的是according to one of the jQuery developers出于向后兼容的原因,这可能永远不会被修复。

This article非常出色地解释了jQuery承诺的规范和当前状态。