diff options
-rw-r--r-- | lib/async.js | 10 |
1 files changed, 9 insertions, 1 deletions
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); }); }; |