microframe
Smol window.requestAnimationFrame
package.
Usage
var Microframe = reuqire('microframe')
var html = require('bel')
var microframe = Microframe()
html`
<input onkeydown=${onkeydown}>click me</button>
`
function onkeydown (e) {
var value = e.target.value
nextFrame(function () {
console.log('called at the start of a new frame', value)
})
}
Why?
Because holding on to event listeners longer than you should causes long
frames. And long frames cause jank. You want silky smooth pages, so debounce
and push all JS execution to the start of frames while clearing references
ASAP.
API
microframe = Microframe()
Create a new instance.
microframe(callback)
Call the callback on the next frame. The last callback is called when called
multiple times in a single frame.
License
MIT