Вопрос проверяет понимание техники ограничения частоты выполнения функций.
Throttle — это приём, который ограничивает частоту вызова функции. Функция выполняется не чаще заданного интервала времени. Все вызовы между интервалами игнорируются или объединяются. Это часто используется для оптимизации производительности.
При работе с событиями браузера функция может вызываться слишком часто.
Throttle — это техника, ограничивающая выполнение функции одним вызовом за определённый промежуток времени.
Обработка scroll
Обработка resize
Отслеживание движения мыши
function throttle(fn, delay) {
let isThrottled = false;
return function () {
if (isThrottled) return;
isThrottled = true;
fn();
setTimeout(() => {
isThrottled = false;
}, delay);
};
}
Throttle — выполняет регулярно
Debounce — выполняет после паузы
Throttle полезен, когда важно регулярно обрабатывать события, но без перегрузки приложения.