summaryrefslogtreecommitdiff
path: root/lib/concatLimit.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/concatLimit.js')
-rw-r--r--lib/concatLimit.js9
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)