> Ember’s RSVP与Tildeio’s RSVP相同吗?如果没有,他们有什么不同?他们怎么相关?
> JavaScript“承诺”有不同的口味,即规格?如果是这样,jQuery Promise是否使用一套Promise规范(这是什么?),而Ember的RSVP.Promise使用了一组不同的Promise规范,即Promises/A+?
> Ember RSVP’s Promise.then()
,Tildeio RSVP’s Promise.then()
和jQuery’s deferred.then()
如何相关?如何Ember的Promise然后()与jQuery的Promise不同,然后()?这是很好的知道,以避免错误。
Ember的RSVP.Promise的例子用于Ember的RESTAdapter的updateRecord的ajax call中。这些是关于jQuery Promise,then() #1和then() #2的一些SO文章。我现在处于混乱状态。
解决方法
> Domenic Denicola的intro to the power of the Promises pattern in Javascript
> Stefan Penner关于promises in Ember and Ember apps的用法的讲话
- Is Ember’s RSVP the same as Tildeio’s RSVP? If not,how are they different? How are they related?
基本一样Tildeio的RSVP是可以发现RSVP的主动发展的地方。 Ember的RSVP是该图书馆的副本。
- Does JavaScript “Promise” come in different flavors,i.e. specifications? If it does,is it true that jQuery Promise uses one set type of Promise specification (what is it?) and Ember’s RSVP.Promise uses a different set of Promise specification,namely Promises/A+?
确定它有不同的口味,不是很多的设计,但它是如何进化。 Promises/A+是许多proposed promise specs之一,似乎有最大的牵引力。大多数承诺实施(包括RSVP)都符合Promises / A,这意味着它们通过了test-suite。
我不相信jQuery的Promise实现有一个不同的规格。这几乎是不完全符合Promises / A的。在大多数情况下,他们一起玩得很好。有几个与错误处理有关的边缘案例,其中jQuery承诺可能不会像您所期望的那样。 Domenic在他的演讲中详细介绍,你也可以在这篇文章中找到关于它的信息:whats so great about js promises
How are Ember RSVP’s Promise.then(),Tildeio RSVP’s Promise.then(),and jQuery’s deferred.then() related?
Ember和Tildeio RSVP是一回事。 jQuery的大部分是相同的,除了:
“如果一个错误处理程序返回一个不是承诺的东西,大多数实现都会考虑处理的错误,而不会传播错误。但是,jQuery不会考虑在这些情况下处理的错误,并且无论如何传播错误。 – whats so great about js promises