aboutsummaryrefslogtreecommitdiff
path: root/lib/promises.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/promises.js')
-rw-r--r--lib/promises.js9
1 files changed, 9 insertions, 0 deletions
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);
+ });
+};