Skip to content

Instantly share code, notes, and snippets.

@cmaher
Last active August 29, 2015 14:07
Show Gist options
  • Save cmaher/c4d52dd508da73e2f5d1 to your computer and use it in GitHub Desktop.
Save cmaher/c4d52dd508da73e2f5d1 to your computer and use it in GitHub Desktop.
A subset of es6-Promise behavior implemented using jQuery.Deferred. Designed with cmaher/backbone.hoard in mind, but is general-purpose.
'use strict';
var Promise = function (callback) {
var deferred = $.Deferred();
callback(deferred.resolve, deferred.reject);
return deferred.promise();
};
Promise.all = function (promises) {
return $.when.apply(null, promises);
};
Promise.resolve = function (value) {
var deferred = $.Deferred();
deferred.resolve(value);
return deferred.promise();
};
Promise.reject = function (value) {
var deferred = $.Deferred();
deferred.reject(value);
return deferred.promise();
};
module.exports = Promise;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment