Подтвердить что ты не робот

Как Ember Promises связан с Promises вообще, и в частности jQuery Promises?

Некоторые вопросы с большой картинкой, чтобы помочь узнать об Обещании Ember:

  • Ember RSVP так же, как Tildeio RSVP? Если нет, то как они отличаются? Как они связаны?

  • Есть ли в JavaScript "Promise" разные вкусы, т.е. спецификации? Если это так, верно ли, что jQuery Promise использует один заданный тип спецификации Promise (что это такое?) И Ember RSVP.Promise использует другой набор спецификаций Promise, а именно Promises/A +?

  • Как Ember RSVP Promise.then(), Tildeio RSVP Promise.then() и jQuery deferred.then() связано? Как Ember Promise и then() отличаются от jQuery Promise и then()? Хорошо знать, чтобы избежать ошибок.

Пример Ember RSVP.Promise используется в Ember RESTAdapter updateRecord вызов ajax. Это некоторые сообщения SO о jQuery Promise, then() # 1 и then() # 2. Я сейчас в замешательстве.

4b9b3361

Ответ 1

Это большая тема. Мы провели несколько часов, обсуждая это в последние месяцы EmberNYC meetup. Если вы хотите понять promises, отличное место для начала будет проверяться:

  • Является ли Ember RSVP таким же, как Tildeio RSVP? Если нет, то как они отличаются? Как они связаны?

В принципе то же самое. Tildeio RSVP - это место, где можно найти активную разработку RSVP. Ember RSVP - это копия этой библиотеки.

  1. Есть ли в JavaScript "Promise" разные вкусы, т.е. спецификации? Если это так, верно ли, что jQuery Promise использует один заданный тип спецификации Promise (что это такое?) И Ember RSVP.Promise использует другой набор спецификации Promise, а именно Promises/A +?

Конечно, это происходит в разных вкусах, не столько по дизайну, сколько в том, как развивались вещи. Promises/A + является одним из многих предлагаемых спецификаций обещаний и, кажется, имеет наибольшую тягу. Большинство реализаций Promises (включая RSVP) совместимы с Promises/A +, что означает, что они передают test-suite.

Я не верю, что реализация jQuery Promise имеет разные спецификации. Он почти-но не совсем соответствует Promises/A. По большей части они играют хорошо вместе. Есть пара краевых случаев, связанных с обработкой ошибок, где jQuery Promises может не вести себя так, как вы ожидали. Доменик подробно рассказывает об этом в своем выступлении, вы также можете найти информацию об этом в этом посте: что так замечательно в js promises

Как Ember RSVP Promise.then(), Tildeio RSVP Promise.then() и jQuery отложен. then() связаны?

Ember и Tildeio RSVP - это одно и то же. jQuery в основном то же самое, за исключением того, что:

"Если обработчик ошибок возвращает что-то иное, чем обещание, большинство реализаций рассматривают обработанную ошибку и не распространяют ее. Однако jQuery не рассматривает ошибку, обрабатываемую в этих случаях, и в любом случае распространяет ее вперед". - Что отличает нас от js promises