diff options
author | zartdinov <zartdinov@gmail.com> | 2015-07-08 18:57:25 +0000 |
---|---|---|
committer | zartdinov <zartdinov@gmail.com> | 2015-07-08 18:57:25 +0000 |
commit | b89b1acf95188bc74e3e528a72bf22ce30e1b677 (patch) | |
tree | 4198f409e2fc4b9770e0b723505a759c3ad1bd13 | |
parent | deaa5a1b8a36eacbb7d31f3a825828f37220396b (diff) | |
download | async-b89b1acf95188bc74e3e528a72bf22ce30e1b677.tar.gz |
asyncify Promises
-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); }); }; |