Created for use in bookshelf.js
Adds promises to Backbone
event triggers, with a triggerThen
method,
resolving when everything that needs triggering has completed. Allows
returning values or promises from the listeners, where a failed promise will
reject the events. An error thrown inside the events will also return a
rejected promise.
Provide two arguments to the trigger-then
library when required:
the copy of Backbone
to mixin the triggerThen
function, and the
promise library (assuming it has a reject
and all
function).
require('trigger-then')(Backbone, Promise);
var Model = new Backbone.Model();
Model.triggerThen('change').then(function(resp) {
// success!
}).catch(function(e) {
// error!
console.log(e.stack);
});
MIT