/
githubmirror
/
OpenAgents
Обзор
Документация
Войти
/
githubmirror
/
OpenAgents
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
frontend/utils/data/throttle.ts
22 строки
554 B
Luoxuan Weng
Update: add frontend code
13 окт 2023, 18:01
13 окт 2023, 18:01
9e312e9
Код
Авторство
О чём код?
export function throttle<T extends (...args: any[]) => any>( func: T, limit: number, ): T { let lastFunc: ReturnType<typeof setTimeout>; let lastRan: number; return ((...args) => { if (!lastRan) { func(...args); lastRan = Date.now(); } else { clearTimeout(lastFunc); lastFunc = setTimeout(() => { if (Date.now() - lastRan >= limit) { func(...args); lastRan = Date.now(); } }, limit - (Date.now() - lastRan)); } }) as T; }