Files
v10/packages/utils/src/dom/animation-frame.ts
T

14 lines
357 B
TypeScript

/**
* Request an animation frame with cleanup.
*
* @example
* ```ts
* const cancel = animationFrame((time) => console.log('Frame at', time));
* cancel(); // Cancel if needed
* ```
*/
export function animationFrame(callback: FrameRequestCallback): () => void {
const id = requestAnimationFrame(callback);
return () => cancelAnimationFrame(id);
}