just-debounce

a simple debounce with no dependencies or crazy defaults

just-debounce

just a basic debounce function

Why?

I searched npm and the first 3 pages of results for "debounce" did not have a small correctly implemented version of debounce

Usage

  • fn: the function to debounce
  • delay: debounce delay in ms
  • at_start: if true, the function will be called at the beginning of the delay rather than the end
  • guarantee: ensures the time before the next call the fn is not greater
    than the delay period.
var db = require('just-debounce')
 
var debounced = db(function(v) {console.log(v)}, 100)
 
debounced('hi')
debounced('hi')
// logs 'hi' once after 100ms 
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 
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 

license

MIT