promised-loops
Non blocking asyncronous loops that work with objects or arrays
npm i promised-loops
For
promised mimic of '.forEach(callback)'
await forEach( iterable, async callback( item, index ) )
const forEach = const array = 1 2 3 4 5 await //=> item : 1 @ index : 0//=> item : 2 @ index : 1//=> item : 3 @ index : 2//=> item : 4 @ index : 3//=> item : 5 @ index : 4 const object = one:1 two:2 three:3 four:4 five:5 await //=> item : 1 @ key : one//=> item : 2 @ key : two//=> item : 3 @ key : three//=> item : 4 @ key : four//=> item : 5 @ key : five
Map
promised mimic of '.map(callback)'
await mapEach( iterable, async callback( item, index ) )
const mapEach = var result = null const array = 1 2 3 4 5 result = await console//=> [ 1, 3, 5, 7, 9 ] const object = one:1 two:2 three:3 four:4 five:5 result = await console//=> [ '1one', '2two', '3three', '4four', '5five' ]
Reduce
promised mimic of '.reduce(callback, initializer)'
await reduceEach( iterable, async callback( accumulator, item, index ), initializer )
const reduceEach = var result = null const array = 1 2 3 4 5 result = await console//=> { '1':0, '2':1, '3':2, '4':3, '5':4 } const object = one:1 two:2 three:3 four:4 five:5 result = await console//=> { '1':'one', '2':'two', '3':'three', '4':'four', '5':'five' }
Sum
promised mimic of '.sum()'
await sumEach( iterable [,field] )
const sumEach = var result = null const array = 1 2 3 4 5 result = await console//=> 15 const object = one:1 two:2 three:3 four:4 five:5 result = await console//=> 15 const complex = v:10v:20v:30v:40v:50result = await console//=> 150