diff options
Diffstat (limited to 'lib/everyLimit.js')
-rw-r--r-- | lib/everyLimit.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/everyLimit.js b/lib/everyLimit.js index 78ffa36..787c704 100644 --- a/lib/everyLimit.js +++ b/lib/everyLimit.js @@ -1,5 +1,6 @@ import createTester from './internal/createTester'; -import doParallelLimit from './internal/doParallelLimit'; +import eachOfLimit from './internal/eachOfLimit' +import awaitify from './internal/awaitify' /** * The same as [`every`]{@link module:Collections.every} but runs a maximum of `limit` async operations at a time. @@ -20,5 +21,9 @@ import doParallelLimit from './internal/doParallelLimit'; * @param {Function} [callback] - A callback which is called after all the * `iteratee` functions have finished. Result will be either `true` or `false` * depending on the values of the async tests. Invoked with (err, result). + * @returns {Promise} a promise, if no callback provided */ -export default doParallelLimit(createTester(bool => !bool, res => !res)); +function everyLimit(coll, limit, iteratee, callback) { + return createTester(bool => !bool, res => !res)(eachOfLimit(limit), coll, iteratee, callback) +} +export default awaitify(everyLimit, 4); |