Marionette has a few globally configurable settings that will change how the system works. While many of these subjects are covered in other docs, this configuration doc should provide a list of the most common items to change.
Warning: deprecated
This feature is deprecated, and is scheduled to be removed in version 3 of Marionette. It is used to configure
Marionette.Callbacks
, which is also deprecated and scheduled to be removed in version 3. Instead of proxying theDeferred
property on Marionette, use the nativePromise
object directly, and include a polyfill such as https://github.com/jakearchibald/es6-promise if you are supporting older browsers.$.Deferred
can also be used, but it is not compliant with the ES6 Promise and is not recommended.
By default, Marionette makes use of Backbone.$.Deferred
to create
thenable objects.
If you are using Marionette without jquery you must first shim Backbone.$.Deferred
with a following object that adherses to these properties:
promise
: a Promises/A+ thenable, or a function that returns oneresolve
: a function that resolves the provided promise with a valueFor example:
var deferred = Marionette.Deferred();
_.result(deferred, 'promise').then(function (target) {
console.log("Hello, " + target + "!");
});
deferred.resolve("world"); // asynchronous "Hello, world!"
If you wish to use a specific promise library, you can override the default via:
Marionette.Deferred = myDeferredLib;