Sobes.tech
Middle
20

Реализуй функцию debounce(fn, delay), которая откладывает вызов функции до истечения указанного времени тишины.

Компании, где спрашивали
Basis

Ответ от нейросети

sobes.tech AI

Функция debounce позволяет ограничить частоту вызова функции, откладывая её выполнение до тех пор, пока не пройдет заданный интервал времени с момента последнего вызова. Это полезно, например, при обработке событий ввода или прокрутки.

Пример реализации на JavaScript:

function debounce(fn, delay) {
  let timeoutId;
  return function(...args) {
    clearTimeout(timeoutId);
    timeoutId = setTimeout(() => {
      fn.apply(this, args);
    }, delay);
  };
}

// Использование:
const debouncedFunc = debounce(() => console.log('Вызов после паузы'), 300);
window.addEventListener('resize', debouncedFunc);

В этом примере функция fn будет вызвана только после того, как прошло 300 мс без новых вызовов.