TGViewer
Логово верстальщика Логово верстальщика @webdevlair · 7.89K subscribers
Post #2816 1.61K
👩‍💻 Функция задержки выполнения

Напишите функцию throttle, которая ограничивает количество вызовов переданной функции. Функция должна вызываться не чаще, чем один раз в указанный временной интервал. Это полезно для оптимизации производительности, например, при обработке событий скроллинга или ресайза окна.

Пример кода:

log('Hello');  // Вызовется сразу
log('World'); // Игнорируется, т.к. прошло меньше 1000ms


Решение задачи🔽

function throttle(func, delay) {
let lastCall = 0;
return function(...args) {
const now = new Date().getTime();
if (now - lastCall >= delay) {
lastCall = now;
return func(...args);
}
};
}

// Примеры использования
const log = throttle(console.log, 1000);

log('Hello'); // Вызовется сразу
log('World'); // Игнорируется, т.к. прошло меньше 1000ms
setTimeout(() => log('Again'), 1500); // Вызовется через 1.5 секунды
More from @webdevlair
  1. Oct 17, 2026Post #4697
  2. Oct 16, 2026Deno уходит в Cloudflare. С приветом от Node Спойлер: в Cloudflare команда Deno едет не ко…
  3. Oct 16, 2026Post #4695
  4. Oct 16, 2026Как вставлять иконки в веб, не трогая HTML Ли Веру показывает трюк: иконки настраиваются ч…
  5. Oct 16, 2026⚡️ В сети начали массово сливать IT-курсы и книги известных онлайн школ Вот отсортированна…
  6. Oct 14, 2026Автор ковыряет вёрстку с тех самых времён, когда Chrome был ещё первой версией, а не моноп…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →