Q promises point-wise error handling
var Q = require('q'); | |
function delaydo(x) { | |
var deferred = Q.defer(); | |
setTimeout(function() { | |
if (x === 2) { | |
console.log("reject: "+x); | |
deferred.reject(x); | |
} | |
else { | |
console.log("resolve: "+x); | |
deferred.resolve(x); | |
} | |
}, 1000); | |
return deferred.promise; | |
} | |
delaydo(1) | |
.then(function() { | |
return delaydo(2); | |
}, function(err) { | |
console.log("Error handler A: "+err); | |
}) | |
.then(function() { | |
return delaydo(3); | |
}, function(err) { | |
console.log("Error handler B: "+err); | |
}) | |
.then(function() { | |
return delaydo(4); | |
}, function(err) { | |
console.log("Error handler C: "+err); | |
}) | |
.catch(function(err) { | |
console.log("Caught err: "+err); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment