q = require('q'); a = function() { var foo = q.defer(); return foo.promise; }; b = a.reject(function(e) { return e; }); b.then(c)(function() { var bar = q.defer(); return bar.promise; });