root 3bf41bf355 update 1 anno fa
..
.eslintrc 3bf41bf355 update 1 anno fa
.npmignore 3bf41bf355 update 1 anno fa
LICENSE 3bf41bf355 update 1 anno fa
README.md 3bf41bf355 update 1 anno fa
index.js 3bf41bf355 update 1 anno fa
package.json 3bf41bf355 update 1 anno fa
test.js 3bf41bf355 update 1 anno fa

README.md

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

arguments

  • 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