Skip to content

Latest commit

 

History

History
50 lines (42 loc) · 1.69 KB

README.md

File metadata and controls

50 lines (42 loc) · 1.69 KB

nanobounce stability

npm version build status downloads js-standard-style

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.

License

MIT