Skip to content

Instantly share code, notes, and snippets.

@electerious
Created May 12, 2017 18:13
Show Gist options
  • Save electerious/37dbf2bf4faf69b0396068b32d23e6eb to your computer and use it in GitHub Desktop.
Save electerious/37dbf2bf4faf69b0396068b32d23e6eb to your computer and use it in GitHub Desktop.
Execute an array of functions with a delay between each execution
const queue = (query, delay, next) => {
if (query.length===0) return next()
query[0]()
const trimmed = query.slice(1)
setTimeout(() => exec(trimmed, delay, next), delay)
}
@electerious
Copy link
Author

electerious commented May 12, 2017

Example:

queue([
  () => console.log('0'),
  () => console.log('1'),
  () => console.log('2')
], 500, () => console.log('done'))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment