a simple debounce with no dependencies or crazy defaults
npm install just-debouncejust a basic debounce function
- 1.1.0: added typescript definitions
I searched npm and the first 3 pages of results for "debounce" did not have a small correctly
implemented version of debounce
- fn: the function to debounce
- delay: debounce delay in ms
- atStart: if true, the function will be called at the beginning of the delay rather than the end
- guarantee: additional calls to debounced function will not reset they delay. This guarantees
that if the function is called frequently, it will fire once every delay rather than waiting for
a break in calls.
``javascript
var db = require('just-debounce');
var debounced = db(function (v) {
console.log(v);
}, 100);
debounced('hi');
debounced('hi');
// logs 'hi' once after 100ms
`
`javascript
var db = require('just-debounce');
var debounced = db(
function (v) {
console.log(v);
},
100,
true
);
debounced('hi');
debounced('hi');
// logs 'hi' once right away, but not a second time. calling after 100ms will log again
`
`javascript
var db = require('just-debounce');
var debounced = db(
function (v) {
console.log(v);
},
100,
false,
true
);
debounced('hi');
setTimeout(function () {
debounced('hi2');
}, 80);
// logs 'hi2' once 100ms after the first call to debounced
``
MIT