From cd3b84e15ea1a47ff8ebcca18d68ef0cdccf20b8 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 3 Jul 2015 21:45:55 +0100 Subject: Add also function as a lesser evil to avoid callback hell --- lib/promises.js | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/promises.js') diff --git a/lib/promises.js b/lib/promises.js index 747bc5b..4c10285 100644 --- a/lib/promises.js +++ b/lib/promises.js @@ -1,9 +1,11 @@ +var _ = require("underscore"); var bluebird = require("bluebird/js/main/promise")(); exports.defer = bluebird.defer; exports.when = bluebird.resolve; exports.resolve = bluebird.resolve; exports.all = bluebird.all; +exports.props = bluebird.props; exports.reject = bluebird.reject; exports.promisify = bluebird.promisify; @@ -14,3 +16,10 @@ exports.nfcall = function(func) { }; bluebird.prototype.fail = bluebird.prototype.caught; + +bluebird.prototype.also = function(func) { + return this.then(function(value) { + var returnValue = _.extend({}, value, func(value)); + return bluebird.props(returnValue); + }); +}; -- cgit v1.2.3