debounceify
Tiny async debouncer
npm install debounceify
Usage
const debounceify = require('debounceify')
const debounced = debounceify(async function () {
console.log('Running...')
await new Promise(resolve => setTimeout(1000, resolve))
})
const a = debounced() // triggers the about function
const b = debounced()
const c = debounced()
const d = debounced() // these last 3 wait for the first one to finish
// then trigger one more.
await a
await b
await c
await d
API
fn = debounceify(asyncFunction)
Debounces the asyncFunction
so that
- No parallel executions of
asyncFunction
will happen - Debounces the stack, so if 10 calls happen while
asyncFunction
is running only one more will be triggered when it finishes. - Forwards errors and return values.
debounceify.running
The active running job, null
if none.
License
MIT