Sobes.tech
Back to questions
Middle
1

function debounce(callback, delay) {}

Companies where asked
SimbirsoftSimbirsoft

Answer from AI

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 мс.