Sobes.tech
Middle

debounce függvény(callback, delay) {}

sobes.tech MI

Válasz az MI-től

A debounce funkció lehetővé teszi a megadott callback függvény hívási gyakoriságának korlátozását. Elhalasztja a callback végrehajtását, amíg egy delay időintervallum el nem telik új hívások nélkül. Ez például hasznos beviteli vagy görgetési események kezelésénél, hogy ne hívjuk túl gyakran a függvényt.

JavaScript-ben például így valósítható meg:

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

// Használat:
const debouncedFunc = debounce(() => console.log('Hívás!'), 300);
window.addEventListener('resize', debouncedFunc);

Ebben a példában a callback csak akkor lesz meghívva, amikor a resize esemény 300 ms-ig nem fordul elő.