Virtual Timers
What is it
It creates only a single timer with specified precision (like a virtual cpu tick), and handles all timeouts and intervals in it.
Pros
- Performance gain when you set hundreds, thousands, billions of intervals & timeouts.
Cons
- Performances loss when you set a few intervals & timeouts.
Usage
import { VirtualTimer } from "virtual-timer";
const virtualTimer = new VirtualTimer();
virtualTimer.timeout(
(delta) => { console.log(`Timeout running after ${delta} ms`) },
1000
);
virtualTimer.interval(
(delta) => { console.log(`Interval running after ${delta} ms`) },
1000
);
You may specify precision (lower is more precise)
const virtualTimer = new VirtualTimer(5);
You may not use delta:
virtualTimer.timeout(
() => { console.log("delta is optional") },
1000
);
You may cancel your timeouts & intervals:
const controller = virtualTimer.timeout(
() => { console.log("you won't see me") },
1000
);
controller.cancel()