Telegram Web K with changes to work inside I2P
https://web.telegram.i2p/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
458 B
23 lines
458 B
3 years ago
|
// * Jolly Cobra's schedulers
|
||
|
|
||
|
import { AnyToVoidFunction } from "../../types";
|
||
|
|
||
|
export default function throttleWith<F extends AnyToVoidFunction>(schedulerFn: AnyToVoidFunction, fn: F) {
|
||
|
let waiting = false;
|
||
|
let args: Parameters<F>;
|
||
|
|
||
|
return (..._args: Parameters<F>) => {
|
||
|
args = _args;
|
||
|
|
||
|
if (!waiting) {
|
||
|
waiting = true;
|
||
|
|
||
|
schedulerFn(() => {
|
||
|
waiting = false;
|
||
|
// @ts-ignore
|
||
|
fn(...args);
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
}
|