From b89b1acf95188bc74e3e528a72bf22ce30e1b677 Mon Sep 17 00:00:00 2001 From: zartdinov Date: Wed, 8 Jul 2015 18:57:25 +0000 Subject: asyncify Promises --- lib/async.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/async.js b/lib/async.js index cbd2678..d9e6244 100644 --- a/lib/async.js +++ b/lib/async.js @@ -1186,10 +1186,18 @@ var result; try { result = func.apply(this, args); + // if result is Promise object + if (typeof result.then === "function") { + result.then(function(values) { + var args = [null].concat(values); + callback.apply(this, args); + }).catch(callback); + } else { + callback(null, result); + } } catch (e) { return callback(e); } - callback(null, result); }); }; -- cgit v1.2.1