Sobes.tech
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.