Ember的承诺一般与承诺有关,特别是jQuery的承诺?

有些大图问题可以帮助学习Ember的承诺:

> Ember’s RSVPTildeio’s RSVP相同吗?如果没有,他们有什么不同?他们怎么相关?
> JavaScript“承诺”有不同的口味,即规格?如果是这样,jQuery Promise是否使用一套Promise规范(这是什么?),而EmberRSVP.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的updateRecordajax call中。这些是关于jQuery Promisethen() #1then() #2的一些SO文章。我现在处于混乱状态。

这是一个很大的话题。在过去的几个月里,我们花了几个小时谈论它。如果你想了解承诺,一个很好的开始的地方是退房:

> Domenic Denicola的intro to the power of the Promises pattern in Javascript
> Stefan Penner关于promises in Ember and Ember apps的用法的讲话

  1. 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是该图书馆的副本。

  1. 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

翻译自:https://stackoverflow.com/questions/17499316/how-are-embers-promises-related-to-promises-in-general-and-specifically-jquery

转载注明原文:Ember的承诺一般与承诺有关,特别是jQuery的承诺?