@amate/on-frame
v1.0.2
Published
Batches calls to requestAnimationFrame
Downloads
7
Maintainers
Readme
on-frame
Batches calls to requestAnimationFrame.
API
onFrame(subscriber: Subscriber): () => boolean
type Subscriber = (time: DOMHighResTimeStamp) => void;
How it works
The return value of onFrame
is an unsubscribe function, it returns a boolean
that indicates if unsubscribing was successful.
The timestamp passed to the subscriber is the original timestamp as provided by the requestAnimationFrame
callback.
Functions can only be subscribed once, but invoking it multiple times is fine as it will also return an unsubscribe
function.
Example
import { onFrame } from 'on-frame';
let i = 0;
const unsubscribe = onFrame((time) => {
console.log(`frame called at ${time}`);
i += 1;
// stop after 5 ticks
if (i === 5) {
unsubscribe();
}
});