| hide_title | true |
|---|---|
| custom_edit_url | |
| pagination_prev | |
| pagination_next |
Home > @rushstack/node-core-library > Async > forEachAsync
Given an input array and a callback function, invoke the callback to start a promise for each element in the array.
Signature:
static forEachAsync<TEntry>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<void>, options?: (IAsyncParallelismOptions & {
weighted?: false;
}) | undefined): Promise<void>;|
Parameter |
Type |
Description |
|---|---|---|
|
iterable |
Iterable<TEntry> | AsyncIterable<TEntry> |
the array of inputs for the callback function |
|
callback |
(entry: TEntry, arrayIndex: number) => Promise<void> |
a function that starts an asynchronous promise for an element from the array |
|
options |
(IAsyncParallelismOptions & { weighted?: false; }) | undefined |
(Optional) options for customizing the control flow |
Returns:
Promise<void>
This API is similar to the system Array#forEach<></>, except that the loop is asynchronous, and the maximum number of concurrent promises can be throttled using IAsyncParallelismOptions.concurrency<></>.
If callback throws a synchronous exception, or if it returns a promise that rejects, then the loop stops immediately. Any remaining array items will be skipped, and overall operation will reject with the first error that was encountered.