Sobes.tech
Middle

funkce debounce(callback, delay) {}

sobes.tech AI

Odpověď od AI

Funkce debounce umožňuje omezit frekvenci volání předané funkce callback. Zpožďuje provedení callback do doby, než uplyne zadaný interval delay bez nových volání. To je užitečné například při zpracování událostí zadávání nebo posouvání, aby se funkce volala příliš často.

Příklad implementace v JavaScriptu:

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

// Použití:
const debouncedFunc = debounce(() => console.log('Volání!'), 300);
window.addEventListener('resize', debouncedFunc);

V tomto příkladu bude callback zavolán až poté, co událost resize přestane nastávat po dobu 300 ms.