Skip to content

Instantly share code, notes, and snippets.

@redroot
Created March 23, 2015 08:10
Show Gist options
  • Select an option

  • Save redroot/3a8f4ad8b5ab109a6922 to your computer and use it in GitHub Desktop.

Select an option

Save redroot/3a8f4ad8b5ab109a6922 to your computer and use it in GitHub Desktop.
Work Q deferred method with promises
'use strict';
var _ = require('underscore');
var Q = require('q');
var to_run = {
'one': function(date){
var deferred = Q.defer();
setTimeout(function(){
console.log("Im number one!", date);
deferred.resolve(date);
},100);
return deferred.promise;
},
'two': function(date){
var deferred = Q.defer();
setTimeout(function(){
console.log("Im number two!", date);
deferred.resolve(date);
},50);
return deferred.promise;
},
'three': function(date){
var deferred = Q.defer();
setTimeout(function(){
console.log("Im number three!", date);
deferred.resolve(date);
},200);
return deferred.promise;
},
'four': function(date){
var deferred = Q.defer();
setTimeout(function(){
console.log("Im number four!", date);
deferred.resolve(date);
},0);
return deferred.promise;
},
}
var result = Q('2015-03-05');
_(_.keys(to_run)).each(function(key){
result = result.then(to_run[key]);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment