Run callback on every array element and return array of callback results with promise
Sometimes you need to run handler on array with timeouts. For example when you parse web pages you need to pause before getting next page to prevent server from shutting down.
That is why forEachTimeout
is developed.
forEachTimeout(
[1, 2, 5, 'foo'], // Array to handle
e => Promise.resolve(e + ' bar'), // Handler function
1000 // Timeout in ms between runs
)
.then( // After 4+ seconds
results => {
console.info('results', results); // ['1 bar', '2 bar', '5 bar', 'foo bar']
}
);
npm install foreach-timeout
forEachTimeout(Array elements, Function handler [, Number timeout]) => Promise.resolve(results)
Type: Array
Array with elements to handle
Type: Function(element, Number index, Array elements)
Function to handle each element. Should return some result of handling.
Type: Number
Default: 1000
Time in ms to pause between handle next element.
Type: Array
Array with returned results of handling each element.