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.