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âmetro | Tipo | Descrição |
|---|---|---|
callback | Function | Função a ser executada de forma controlada. |
wait | number | Intervalo mínimo (em milissegundos) entre execuções da função. |
options | object | (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
TypeErrorse o callback não for função. - Útil para otimizar eventos de alta frequência como scroll, resize, etc.
