Skip to content

debounce

A função debounce limita a frequência de execução de uma função, adiando sua chamada até que um intervalo de inatividade seja atingido.

Sintaxe

typescript
debounce(callback, wait?, options?)

Parâmetros

ParâmetroTipoDescrição
callbackFunctionFunção a ser executada de forma controlada.
waitnumber(Opcional) Tempo de espera em milissegundos (padrão: 300).
optionsobject(Opcional) { leading, trailing, maxWait } para controle avançado.

Opções

  • leading (boolean): Executa no início do intervalo (padrão: false).
  • trailing (boolean): Executa ao final do intervalo (padrão: true).
  • maxWait (number): Tempo máximo sem execução (em ms).

Retorno

Retorna uma função debounced com métodos cancel() e flush().

Exemplos

typescript
const debounced = debounce(() => console.log('Executado!'), 500, { leading: true });
debounced();
debounced(); // Apenas a primeira chamada executa imediatamente

Notas

  • Lança erro se leading e trailing forem ambos false.
  • Útil para otimizar eventos frequentes como digitação ou redimensionamento.

Referências

Released under the MIT License.