jQuery promise pattern
jQuery promise pattern
by seefeld
JavaScript
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);
promiseTrue.done( function(err, data){
console.log(err);
console.log(data);
});
var promiseFalse = doStuff(false);
promiseFalse.done( function(err, data){
console.log(err);
console.log(data);
});
})();