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 };
|