Sobes.tech
Middle

funcție debounce(callback, delay) {}

sobes.tech AI

Răspuns de la AI

Funcția debounce permite limitarea frecvenței de apelare a funcției callback transmise. Ea întârzie executarea callback până când trece un interval delay fără noi apeluri. Acest lucru este util, de exemplu, la procesarea evenimentelor de introducere sau derulare, pentru a nu apela funcția prea des.

Exemplu de implementare în JavaScript:

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

// Utilizare:
const debouncedFunc = debounce(() => console.log('Apel!'), 300);
window.addEventListener('resize', debouncedFunc);

În acest exemplu, callback va fi apelat doar după ce evenimentul resize încetează să se întâmple timp de 300 ms.