diff options
Diffstat (limited to 'lib/concatLimit.js')
-rw-r--r-- | lib/concatLimit.js | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/concatLimit.js b/lib/concatLimit.js index 5dbbe8d..34c35df 100644 --- a/lib/concatLimit.js +++ b/lib/concatLimit.js @@ -1,6 +1,6 @@ -import noop from './internal/noop'; import wrapAsync from './internal/wrapAsync'; import mapLimit from './mapLimit'; +import awaitify from './internal/awaitify' /** * The same as [`concat`]{@link module:Collections.concat} but runs a maximum of `limit` async operations at a time. @@ -19,11 +19,11 @@ import mapLimit from './mapLimit'; * `iteratee` functions have finished, or an error occurs. Results is an array * containing the concatenated results of the `iteratee` function. Invoked with * (err, results). + * @returns A Promise, if no callback is passed */ -export default function(coll, limit, iteratee, callback) { - callback = callback || noop; +function concatLimit(coll, limit, iteratee, callback) { var _iteratee = wrapAsync(iteratee); - mapLimit(coll, limit, (val, iterCb) => { + return mapLimit(coll, limit, (val, iterCb) => { _iteratee(val, (err, ...args) => { if (err) return iterCb(err); return iterCb(null, args); @@ -39,3 +39,4 @@ export default function(coll, limit, iteratee, callback) { return callback(err, result); }); } +export default awaitify(concatLimit, 4) |