@cfware/debouncer

Debouncer class

Usage no npm install needed!

<script type="module">
  import cfwareDebouncer from 'https://cdn.skypack.dev/@cfware/debouncer';
</script>

README

@cfware/debouncer

Travis CI Greenkeeper badge NPM Version NPM Downloads MIT

Debouncer class

Install @cfware/debouncer

This module is distributed in ES module format, no CJS is provided.

npm i --save @cfware/debouncer

Usage

import Debouncer from '@cfware/debouncer';

const debouncer = new Debouncer(() => {
    console.log('debounced callback');
});

// Only run the callback once.
debouncer.run();
setTimeout(() => debouncer.run(), 50);

debouncer = new Debouncer(callback, delay, maxDelays)

  • callback is the callback which is to be rate controlled. Required, must be a function.
  • delay is the number of milliseconds to wait before running the callback. Optional, default 100.
  • maxDelays maximum number of full delays before callback is run. Optional, default 2.

debouncer.run(immediately = false)

This schedules a call to the callback.

If immediately is enabled the callback is run immediately.

debouncer.flush()

This forces the callback to run immediately.

debouncer.clear()

Cancel any scheduled runs of the callback.