Назад к вопросам
Middle+
3
Практическое задание: реализовать функцию debounce
Компании, где спрашивали
Evocargo
Ответ от нейросети
sobes.tech AI
Функция debounce ограничивает частоту вызова переданной функции, вызывая её только после того, как прошло определённое время с последнего вызова. Это полезно, например, при обработке событий ввода или прокрутки.
Пример реализации debounce на JavaScript:
function debounce(fn, delay) {
let timeoutId;
return function(...args) {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => {
fn.apply(this, args);
}, delay);
};
}
// Использование:
const onResize = debounce(() => {
console.log('Resize event handled');
}, 300);
window.addEventListener('resize', onResize);
В этом примере функция onResize будет вызвана не чаще, чем раз в 300 мс после последнего события resize.