Skip to content

Instantly share code, notes, and snippets.

@lifeinafolder
Created January 15, 2012 22:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lifeinafolder/1617684 to your computer and use it in GitHub Desktop.
Save lifeinafolder/1617684 to your computer and use it in GitHub Desktop.
Promises
var fn = function() {
var dfd = new Deferred();
var promises = [];
promises.push(async1()); // an async operation
promises.push(async2()); // an async operation
promises.push(sync1()); // a sync operation
promises.push(async3()); // an async operation
// You want to perform some computation after above 4 tasks are done.
Promise.when(promises).done(function() {
for (var i = 0, len = arguments.length; i < len; i++) {
if (!arguments[i]) {
dfd.resolve(false);
}
}
dfd.resolve(true);
}).fail(function(err) {
dfd.reject(err);
});
return dfd.promise();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment