
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
backbone.promise-controller
Advanced tools
Backbone Promise Based Controller
A Flexible Backbone/Marionette General Purpose Controller
This library is built on top of Backbone and used with Marionette, providing a Promise based controller solution.
var BlogPromiseController = Backbone.PromiseController.extend({
initialize : function (options,resolve, reject) {
var model = options.model;
//Ad-hoc Filtering
var privacy = options.model.get('privacy');
if (!privacy) reject(this.getRejection(options));
var blogs = model.blogs();
blogs.fetch()
.then(function() {
if (blogs.length) {
resolve(this.getResolution(options,blogs));
} else {
reject(this.getRejection(options));
}
}.bind(this))
.fail(function () {
reject(this.getRejection(options));
}.bind(this));
},
getResolution : function(options, blogs) {
return {
user : options.model,
collection : blogs
};
},
getRejection : function (options) {
return {
user : options.model,
collection : null
};
}
});
var BlogController = new BlogPromiseController({
model : new Backbone.Model({
//...
blogs : function() {
//...
}
})
});
controller.then(function(model,collection) {
//...
});
controller.fail(function(model,collection) {
//...
});
I use this in conjunction with AyncViewLoader (coming soon) to load views asynchronously while attaching them to a region on the DOM with a title and a spinner. This creates a simple, reusable, and testable controller for loading views. Allowing you to keep the business logic out of the view logic.
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.
Licensed under the MIT license.
Chris Miller
FAQs
A Simple Promise Based Controller For Backbone/Marionette Views
We found that backbone.promise-controller demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.