This highlight the fact that it's not designed for direct consumption and it no longer needs a special handling in `npmignore`.
1.2 KiB
1.2 KiB
asyncEach(iterable, iteratee, [opts])
Executes iteratee in order for each value yielded by iterable.
Returns a promise wich rejects as soon as a call to iteratee throws or a promise returned by it rejects, and which resolves when all promises returned by iteratee have resolved.
iterable must be an iterable or async iterable.
iteratee is called with the same this value as asyncEach, and with the following arguments:
value: the value yielded byiterableindex: the 0-based index for this valueiterable: the iterable itself
opts is an object that can contains the following options:
concurrency: a number which indicates the maximum number of parallel call toiteratee, defaults to1signal: an abort signal to stop the iterationstopOnError: wether to stop iteration of first error, or wait for all calls to finish and throw anAggregateError, defaults totrue
import { asyncEach } from '@vates/async-each'
const contents = []
await asyncEach(
['foo.txt', 'bar.txt', 'baz.txt'],
async function (filename, i) {
contents[i] = await readFile(filename)
},
{
// reads two files at a time
concurrency: 2,
}
)