https://cenfun.github.io/async-tick/
npm i async-tick
import { microtask } from "async-tick";
const microtaskCallback = microtask((arg) => {
console.log(arg);
});
microtaskCallback(1);
- microtask can be canceled
microtaskCallback(1);
microtaskCallback.cancel();
// will not output 1
- microtask no repeated calls, only using the most recent callback in an event loop
microtaskCallback(1);
microtaskCallback(2);
// will only output 2
import { throttle } from "async-tick";
const throttleCallback = throttle((arg) => {
console.log(arg);
}, 100);
throttleCallback(1);
import { debounce } from "async-tick";
const debounceCallback = debounce((arg) => {
console.log(arg);
}, 100);
debounceCallback(1);