Настройка Marionette
Marionette имеет несколько глобальных конфигурационных настроек, которые изменят работу системы. Хотя многие из этих тем освещаются в других документах, этот документ по конфигурации должен предоставить список наиболее распространённых пунктов для изменения.
Marionette.Deferred
Предупреждение: устаревшее
Эта функция устарела и планируется к удалению в версии 3 Marionette. Она используется для настройки
Marionette.Callbacks, которая также устарела и планируется к удалению в версии 3. Вместо того, чтобы использовать проксирование свойстваDeferredобъекта Marionette, используйте напрямую объектPromise, и включите полифил, такой как https://github.com/jakearchibald/es6-promise, если вы поддерживаете старые браузеры.$.Deferredтакже может быть использован, но он не соответствует ES6 Promise и не рекомендуется.
По умолчанию Marionette использует Backbone.$.Deferred для создания объектов thenable.
Переопределение Marionette.Deferred
Если вы используете Marionette без jQuery, вы должны сначала заглушить Backbone.$.Deferred с помощью следующего объекта, который соответствует этим свойствам:
-
promise: thenable Promises/A+, или функция, возвращающая такой thenable -
resolve: функция, которая разрешает предоставленный promise со значением
Например:
var deferred = Marionette.Deferred();
_.result(deferred, 'promise').then(function (target) {
console.log("Hello, " + target + "!");
});
deferred.resolve("world"); // asynchronous "Hello, world!"
Если вы хотите использовать определённую библиотеку promise, вы можете переопределить значение по умолчанию через:
Marionette.Deferred = myDeferredLib;
© 2016 Muted Solutions, LLC
Licensed under the MIT License.
https://marionettejs.com/docs/v2.4.7/marionette.configuration.html