@lifaon/rx-js-light
Version:
Blazing fast Observables
21 lines (20 loc) • 434 B
JavaScript
import {createAnimationFrame} from "./create-animation-frame.mjs";
export function createAnimationFrameLoop(callback) {
let running = true;
let abortAnimationFrame;
const loop = () => {
abortAnimationFrame = createAnimationFrame(() => {
callback();
if (running) {
loop();
}
});
};
loop();
return () => {
if (running) {
running = false;
abortAnimationFrame();
}
};
}