13 lines
296 B
JavaScript
13 lines
296 B
JavaScript
let cbs = [];
|
|
let params = [];
|
|
function flushCallbacks() {
|
|
cbs.forEach((cb, i) => cb(...params[i]));
|
|
cbs = [];
|
|
params = [];
|
|
}
|
|
function beforeNextFrame(cb, ...args) {
|
|
cbs.push(cb) === 1 && requestAnimationFrame(flushCallbacks);
|
|
params.push(args);
|
|
}
|
|
export { beforeNextFrame };
|