Sobes.tech
Назад к вопросам
Middle
2

function debounce(callback, delay) {}

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

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

sobes.tech AI

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

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

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

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

В этом примере callback будет вызван только после того, как событие resize перестанет происходить в течение 300 мс.