Middle+
18
Практическое задание: реализовать функцию debounce
Companies where asked
Evocargo
Answer from AI
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.