diff options
Diffstat (limited to 'lib/filterLimit.js')
-rw-r--r-- | lib/filterLimit.js | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/filterLimit.js b/lib/filterLimit.js index 946002d..b421caa 100644 --- a/lib/filterLimit.js +++ b/lib/filterLimit.js @@ -1,5 +1,6 @@ -import filter from './internal/filter'; -import doParallelLimit from './internal/doParallelLimit'; +import _filter from './internal/filter'; +import eachOfLimit from './internal/eachOfLimit' +import awaitify from './internal/awaitify' /** * The same as [`filter`]{@link module:Collections.filter} but runs a maximum of `limit` async operations at a @@ -19,5 +20,9 @@ import doParallelLimit from './internal/doParallelLimit'; * with a boolean argument once it has completed. Invoked with (item, callback). * @param {Function} [callback] - A callback which is called after all the * `iteratee` functions have finished. Invoked with (err, results). + * @returns {Promise} a promise, if no callback provided */ -export default doParallelLimit(filter); +function filterLimit (coll, limit, iteratee, callback) { + return _filter(eachOfLimit(limit), coll, iteratee, callback) +} +export default awaitify(filterLimit, 4); |