Marionette.Configuration
Marionette.js имеет несколько глобально настраиваемых параметров, которые влияют на работу приложение. Большая часть из них описана в других разделах документации. В этот раздел документации будет помещаться информация о наиболее общих параметрах, которые можно настроить.
Marionette.Deferred
Внимание: не рекомендуется к использованию.
Свойство
Marionette.Deferred
считается усторевшим и не рекомендуется к использованию. В следующем мажорном релизеMarionette.Deferred
будет удалено. Это свойство используется для настройки классаMarionette.Callbacks
, который также будет удален в следующем мажорном релизе. Вместо проксирования свойстваDeferred
лучше использовать натиные промисы или полифилы (например, es6-promise) если вы поддерживаете старые браузеры. Также можно использовать объект$.Deferred
, но он не совместим с ES6 Promise, а потому тоже не рекомендован к использованию.
По умолчанию, в Marionette используется Backbone.$.Deferred
для создания объектов
с определенным методом then
(thenable objects).
Переопределение Marionette.Deferred
Если вы используете Marionette
без jQuery
, то вам, первым делом, понадобится объект Backbone.$.Deferred
для поддержки совместимости (shim). Backbone.$.Deferred
предоставляет объект, который поддерживает
следующие свойства:
promise
: объект спецификацииPromises/A+
с определенным методомthen
или функция, которая возвращает промис объектresolve
: функция, которая переводит промис объект в состояние «выполнено». Можно установить значение, которое будет передано в качестве аргумента в функцию обратного вызова метода then.
Например:
var deferred = Marionette.Deferred();
_.result(deferred, 'promise').then(function (target) {
console.log("Hello, " + target + "!");
});
deferred.resolve("world"); // асинхронный "Hello, world!"
Если вы хотите использовать иную библиотеку для промисов, то переопределите значение по умолчанию:
Marionette.Deferred = myDeferredLib;