Invoke an async reducer function on each item in the given Array,
where the reducer transforms an accumulator value based on each item iterated over.
Note: because reduce() is order-sensitive, iteration is sequential.
This is an asynchronous version of
Array.prototype.reduce()
(Array) The Array to reduce
(Function) Async function, gets passed
(accumulator, value, index, array)
and returns a new value for
accumulator
([Any]) Optional initial accumulator value
any:
final
accumulator
value
await reduce(
['/foo', '/bar', '/baz'],
async (accumulator, value) => {
accumulator[v] = await fetch(value);
return accumulator;
},
{}
);
Invoke an async transform function on each item in the given Array in parallel, returning the resulting Array of mapped/transformed items.
This is an asynchronous, parallelized version of
Array.prototype.map().
(Array) The Array to map over
Array:
resulting mapped/transformed values.
await map(
['foo', 'baz'],
async v => await fetch(v)
)
Invoke an async filter function on each item in the given Array in parallel, returning an Array of values for which the filter function returned a truthy value.
This is an asynchronous, parallelized version of
Array.prototype.filter().
(Array) The Array to filter
(Function) Async function. Gets passed
(value, index, array)
, returns true to keep the value in the resulting filtered Array.
Array:
resulting filtered values
await filter(
['foo', 'baz'],
async v => (await fetch(v)).ok
)
Invoke all async functions in an Array or Object in parallel, returning the result.
(Array | Object):
same structure as
list
input, but with values now resolved.
await parallel([
async () => await fetch('foo'),
async () => await fetch('baz')
])
Invoke all async functions in an Array or Object sequentially, returning the result.
(Array | Object):
same structure as
list
input, but with values now resolved.
await series([
async () => await fetch('foo'),
async () => await fetch('baz')
])