Skip to content

Instantly share code, notes, and snippets.

@adamauckland
Created May 7, 2014 17:10
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 adamauckland/2c853dafbcf49626428d to your computer and use it in GitHub Desktop.
Save adamauckland/2c853dafbcf49626428d to your computer and use it in GitHub Desktop.
Example of chaining deferred promises
//
// Demonstration of chaining deferred promises together
//
var Q = require('q');
function firstFunction () {
var deferred = Q.defer();
console.log('About to set timeout');
setTimeout(deferred.resolve, 1000);
console.log('Timeout set. Now resolving the promise');
return deferred.promise;
}
function resolveFunction () {
console.log('Then now executed');
var deferred = Q.defer();
console.log('About to set SECOND timeout');
setTimeout(deferred.resolve, 2000);
console.log('SECOND Timeout set. Now resolving the promise');
return deferred.promise;
}
function secondResolveFunction () {
console.log('secondResolveFunction executed');
}
var promise = firstFunction();
console.log('We now have a promise object, let\'s execute then');
promise
.then(resolveFunction)
.then(secondResolveFunction);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment