summaryrefslogtreecommitdiff
path: root/lib/parallelLimit.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/parallelLimit.js')
-rw-r--r--lib/parallelLimit.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/parallelLimit.js b/lib/parallelLimit.js
index 7e66bed..188624c 100644
--- a/lib/parallelLimit.js
+++ b/lib/parallelLimit.js
@@ -3,6 +3,25 @@
import eachOfLimit from './internal/eachOfLimit';
import parallel from './internal/parallel';
+/**
+ * The same as `parallel` but runs a maximum of `limit` async operations at a
+ * time.
+ *
+ * @name parallel
+ * @static
+ * @memberOf async
+ * @see `async.parallel`
+ * @category Control Flow
+ * @param {Array|Collection} tasks - A collection containing functions to run.
+ * Each function is passed a `callback(err, result)` which it must call on
+ * completion with an error `err` (which can be `null`) and an optional `result`
+ * value.
+ * @param {number} limit - The maximum number of async operations at a time.
+ * @param {Function} [callback] - An optional callback to run once all the
+ * functions have completed successfully. This function gets a results array
+ * (or object) containing all the result arguments passed to the task callbacks.
+ * Invoked with (err, results).
+ */
export default function parallelLimit(tasks, limit, cb) {
return parallel(eachOfLimit(limit), tasks, cb);
}