Skip to content

throttle

A função throttle limita a frequência com que uma função pode ser executada, garantindo que ela seja chamada no máximo uma vez a cada intervalo de tempo definido.

Sintaxe

typescript
throttle(callback, wait, options?)

Parâmetros

ParâmetroTipoDescrição
callbackFunctionFunção a ser executada de forma controlada.
waitnumberIntervalo mínimo (em milissegundos) entre execuções da função.
optionsobject(Opcional) Configurações adicionais: { leading, trailing, maxWait }.

Opções (ThrottleOptions)

  • leading (boolean): Executa na borda inicial do intervalo (padrão: true).
  • trailing (boolean): Executa na borda final do intervalo (padrão: true).
  • maxWait (number): Tempo máximo sem execução, mesmo com chamadas contínuas.

Retorno

Retorna uma função "throttled" que pode ser chamada normalmente. Essa função possui métodos auxiliares:

  • cancel(): Cancela execuções pendentes.
  • flush(): Executa imediatamente se houver chamada pendente.

Exemplos

typescript
const throttledFn = throttle(() => console.log('Executado!'), 1000);
window.addEventListener('resize', throttledFn);

// Cancelar chamadas pendentes
throttledFn.cancel();

// Forçar execução imediata
throttledFn.flush();

Notas

  • Lança um TypeError se o callback não for função.
  • Útil para otimizar eventos de alta frequência como scroll, resize, etc.

Referências

Released under the MIT License.