Skip to content

Instantly share code, notes, and snippets.

@iladarsda
Created February 21, 2014 14:11
Show Gist options
  • Save iladarsda/9134931 to your computer and use it in GitHub Desktop.
Save iladarsda/9134931 to your computer and use it in GitHub Desktop.
jQuery promise pattern
function doStuff(flag) {
var deferred = $.Deferred();
var err = null,
data = null;
if (flag) {
setTimeout(function() {
data = ["2", "2"];
deferred.resolve(err, data);
}, 5 * 1000)
} else {
setTimeout(function() {
err = "Error msg goes here";
data = null;
deferred.resolve(err, data);
}, 5 * 1000)
}
return deferred.promise();
}
(function() {
var promiseTrue = doStuff(true);
console.log("promiseTrue created..");
promiseTrue.done(function(err, data) {
console.log(err);
console.log(data);
});
var promiseFalse = doStuff(false);
console.log("promiseFalse created..");
promiseFalse.done(function(err, data) {
console.log(err);
console.log(data);
});
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment