Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Q = require('q');
- function step1() {
- var deferred = Q.defer();
- console.log('step 1 takes a second');
- setTimeout(function() {
- console.log('step 1 done!');
- deferred.resolve('YAY');
- }, 1000);
- console.log('step 1 submitted');
- return deferred.promise;
- }
- function step2(result) {
- var deferred = Q.defer();
- console.log('step 1 said: ' + result);
- console.log('step 2 takes a second');
- setTimeout(function() {
- console.log('step 2 done!');
- deferred.resolve('WOW');
- }, 1000);
- console.log('step 2 submitted');
- return deferred.promise;
- }
- function step3(result) {
- var deferred = Q.defer();
- console.log('step 2 said: ' + result);
- console.log('step 3 takes a second');
- setTimeout(function() {
- deferred.reject('STEP 3 FAILURE!!!!!');
- }, 1000);
- console.log('step 3 submitted');
- return deferred.promise;
- }
- function step4(result) {
- var deferred = Q.defer();
- console.log('step 3 said: ' + result);
- console.log('step 4 takes a second');
- setTimeout(function() {
- console.log('step 4 done!');
- deferred.resolve('WTF');
- }, 1000);
- console.log('step 4 submitted');
- return deferred.promise;
- }
- step1()
- .then(function() { return step2('PUT IN MY OWN DAMN ARG'); })
- .then(step3)
- .then(step4)
- .fail(function(err) {
- console.log('fail handler... ' + err);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement