foreach-timeout

3.0.1 • Public • Published

forEachTimeout

Run callback on every array element and return array of callback results with promise

Goal

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.

Example usage

forEachTimeout(
  [1, 2, 5, 'foo'], // Array to handle
  e => Promise.resolve(+ ' 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']
  }
);

Syntax

forEachTimeout(Array elements, Function handler [, Number timeout]) => Promise.resolve(results)

elements

Type: Array

Array with elements to handle

handler

Type: Function(element, Number index, Array elements)

Function to handle each element. Should return some result of handling.

timeout

Type: Number

Default: 1000

Time in ms to pause between handle next element.

results

Type: Array

Array with returned results of handling each element.

Package Sidebar

Install

npm i foreach-timeout

Weekly Downloads

52

Version

3.0.1

License

MIT

Unpacked Size

5.05 kB

Total Files

5

Last publish

Collaborators

  • ohar