Sobes.tech
Middle

функция debounce(callback, delay) {}

sobes.tech AI

Отговор от 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 ms.