repond
Version:
respond to items state in realtime
18 lines (15 loc) • 506 B
text/typescript
import { repondMeta as meta } from "../meta";
import { _updateRepond } from "../updating";
export function updateRepondNextFrame() {
return requestAnimationFrame(_updateRepond);
}
export function runNextFrameIfNeeded() {
if (!meta.shouldRunUpdateAtEndOfUpdate) {
if (meta.nextFrameIsFirst && meta.nowMetaPhase === "waitingForFirstUpdate") {
updateRepondNextFrame();
meta.nowMetaPhase = "waitingForMoreUpdates";
} else {
meta.shouldRunUpdateAtEndOfUpdate = true;
}
}
}