Sobes.tech
Middle

função debounce(callback, delay) {}

sobes.tech IA

Resposta da IA

A função debounce permite limitar a frequência de chamada da função callback passada. Ela retarda a execução de callback até que passe um intervalo delay sem novas chamadas. Isto é útil, por exemplo, ao lidar com eventos de entrada ou rolagem, para não chamar a função com demasiada frequência.

Exemplo de implementação em JavaScript:

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

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

Neste exemplo, callback será chamado apenas após o evento resize deixar de ocorrer durante 300 ms.