Skip to content

Instantly share code, notes, and snippets.

@brennanMKE
Last active August 29, 2015 13:56
Show Gist options
  • Save brennanMKE/9310805 to your computer and use it in GitHub Desktop.
Save brennanMKE/9310805 to your computer and use it in GitHub Desktop.
JavaScript Promise with immediate response
var Promise = require('promise');
// Always return a promise for immediate or delayed responses
var doAsync = function(nbr) {
if (nbr === 1) {
// use static function to resolve with data immediately
return Promise.resolve('Success already!');
}
else if (nbr === 2) {
// use static function to reject with an error immediately
return Promise.reject('Rejected already!');
}
else {
// create an instance of a promise which is resolved later
var promise = new Promise(function (resolve, reject) {
setTimeout(function() {
resolve('Resolved later');
}, 250);
});
return promise;
}
};
var handleSuccess = function(result) {
console.log('Success: ' + result);
};
var handleError = function(error) {
console.log('Error: ' + error);
};
doAsync(1).then(handleSuccess, handleError);
doAsync(2).then(handleSuccess, handleError);
doAsync(3).then(handleSuccess, handleError);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment