Awesome
nanobounce
Smol debounce package.
Usage
var Nanobounce = require('nanobounce')
var html = require('bel')
var nanobounce = Nanobounce()
html`
<input onkeydown=${onkeydown}>click me</button>
`
function onkeydown (e) {
var value = e.target.value
nanobounce(function () {
console.log('called at the start of a new frame', value)
})
}
Why?
Because most debounce functions don't work well when doing DOM diffing. This package is specifically made to work well with DOM diffing.
API
nanobounce = Nanobounce([timeout])
Create a new instance. Timeout defaults to 256ms
.
nanobounce(callback)
Debounce a callback for the duration of the timeout. The last callback wins if called multiple times in a row.