Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.0.0

debounce_throttle

Um debouncer e throttle que funciona com Futures, Streams e callbacks.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
199 mil
Curtidas
75
Pontos Pub
160

Instalar pacote

flutter pub add debounce_throttle

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote leve em Dart que fornece funcionalidades de debounce e throttle para operações assíncronas, incluindo Futures, Streams e callbacks. Ajuda a gerenciar eventos de alta frequência — como entrada do usuário ou requisições de rede — atrasando ou limitando a execução para melhorar o desempenho e reduzir o uso de recursos. Ideal para otimizar entradas de pesquisa, manipuladores de redimensionamento e validação em tempo real de formulários. O pacote é independente de plataforma e se integra perfeitamente a aplicativos Flutter em Android, iOS, Web, macOS, Windows e Linux.

Casos de uso

  • Otimizando atrasos de entrada de busca
  • Reduzindo chamadas rápidas à API
  • Gerenciando validação em tempo real do formulário
  • Manipulando eventos de redimensionamento de janela
  • Melhorar o desempenho de rolagem
  • Controlando a taxa de clique do botão

Principais recursos

  • Suporta Futures, Streams e callbacks
  • Compatibilidade multiplataforma
  • API simples e intuitiva
  • Intervalos configuráveis de atraso e throttle
  • Sem dependências externas
  • Operações seguras para threads

Indicado para

  • Desenvolvedores construindo interfaces responsivas
  • Aplicativos com interações frequentes do usuário
  • Aplicações críticas de desempenho
  • Processamento de dados em tempo real
  • Aplicativos Flutter direcionados a múltiplas plataformas

Considerações

  • Requer conhecimento de programação assíncrona
  • Pode introduzir latência em operações sensíveis ao tempo
  • Não adequado para cenários de resposta imediata
  • Necessita de ajuste cuidadoso dos valores de atraso
  • Limitado a casos de uso de limitação de taxa de eventos
  • Não lida com gerenciamento de estado complexo

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

debounce_throttle

A debouncer and throttle that works with Future, Stream, and callbacks.

Class Purpose
Debouncer Wait for changes to stop before notifying.
Throttle Notifies once per Duration for a value that keeps changing.

Usage

  final debouncer = Debouncer<String>(Duration(milliseconds: 200));

  // Run a search whenever the user pauses while typing.
  textEditingController.addListener(() => debouncer.value = textEditingController.text);
  debouncer.values.listen((search) => submitSearch(search));

  final throttle = Throttle<double>(Duration(milliseconds: 100));

  // Limit being notified of continuous sensor data.
  sensor.addListener(throttle.setValue);
  throttle.values.listen((data) => print('$data'));

example/main.dart output

Tick     : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Changed  : -----------     -  --   - -  -    --  - -    -   -    -  -   - ---  -  - -  - -    -    -    - - - - --    -    -  -   - - -   --    - --    ---    -   -  - -     -    -     -  -  -
Debounced:              D     D   D     D  D          D    D   D    D  D          D         D    D    D             D    D    D  D       D    D       D      D    D        D     D    D     D
Throttled: T  T  T  T  T   T  T  T  T   T  T  T  T  T   T   T    T  T   T  T  T  T  T  T  T   T    T    T  T  T  T  T  T   T  T   T  T  T  T  T  T  T   T  T   T   T  T  T    T    T     T  T  T

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote