123456789101112131415161718192021222324252627282930313233343536373839404142 |
- var _ = require("underscore");
- var bluebird = require("bluebird/js/release/promise")();
- exports.defer = 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;
- exports.mapSeries = bluebird.mapSeries;
- exports.attempt = bluebird.attempt;
- exports.nfcall = function(func) {
- var args = Array.prototype.slice.call(arguments, 1);
- var promisedFunc = bluebird.promisify(func);
- return promisedFunc.apply(null, args);
- };
- 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);
- });
- };
- function defer() {
- var resolve;
- var reject;
- var promise = new bluebird.Promise(function(resolveArg, rejectArg) {
- resolve = resolveArg;
- reject = rejectArg;
- });
- return {
- resolve: resolve,
- reject: reject,
- promise: promise
- };
- }
|