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

Реализовать функцию debounce.

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

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

sobes.tech AI

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

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

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

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

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