Created
March 23, 2015 08:10
-
-
Save redroot/3a8f4ad8b5ab109a6922 to your computer and use it in GitHub Desktop.
Work Q deferred method with promises
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| '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