Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.0.1

throttling

Contém classes auxiliares assíncronas de throttling e debouncing com ouvintes

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
17,9 mil
Curtidas
44
Pontos Pub
140

Instalar pacote

flutter pub add throttling

Visão geral do pacote

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

O pacote de throttling fornece classes auxiliares assíncronas para implementar throttling e debouncing em aplicativos Dart. Ele permite que os desenvolvedores controlem a taxa na qual funções são executadas, evitando chamadas excessivas durante eventos rápidos, como entrada do usuário ou solicitações de rede. Com suporte integrado a listeners, simplifica o gerenciamento de operações com atraso ou limitadas por taxa em várias plataformas. Ideal para otimizar o desempenho em interfaces reativas e tratamento de dados em tempo real.

Casos de uso

  • Limitação de eventos de entrada do usuário
  • Otimizar a frequência de solicitações de rede
  • Melhorar a responsividade da interface do usuário
  • Gerenciamento de atualizações de dados em tempo real
  • Reduzindo cálculos redundantes
  • Manipulando eventos de rolagem ou redimensionamento

Principais recursos

  • Ferramentas de throttling e debouncing
  • Compatível com listeners assíncronos
  • Suporte multiplataforma
  • API simples para limitação de taxa
  • Tratamento interno de cancelamento
  • Suporte para funções síncronas e assíncronas

Indicado para

  • Desenvolvedores construindo aplicativos responsivos no Flutter
  • Equipes que precisam de controle de taxa de eventos
  • Aplicativos com interações frequentes do usuário
  • Cenários de processamento de dados em tempo real
  • Aplicações críticas de desempenho

Considerações

  • Requer compreensão do fluxo assíncrono
  • Pode adicionar latência se os limites forem muito rígidos
  • Não adequado para necessidades de execução imediata
  • Os ouvintes devem ser gerenciados para evitar vazamentos de memória
  • Melhor usado com padrões de gerenciamento de estado

README original

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

THROTTLING DART LIBRARY

contain "throttling" and "debouncing" classes

Actions Status Coverage Pub License: MIT Effective Dart Star on Github

Using

See a demonstration of use at dartpad.dev

Throttling example
final thr = Throttling<void>(duration: const Duration(milliseconds: 200));
thr.throttle(() {print(' * 1');}); // print ' * 1'
await Future<void>.delayed(const Duration(milliseconds: 100));
thr.throttle(() {print(' * 2');});
await Future<void>.delayed(const Duration(milliseconds: 100));
thr.throttle(() {print(' * 3');}); // print ' * 3'
thr.close();
Debouncing example
final deb = Debouncing<void>(duration: const Duration(milliseconds: 200));
deb.debounce(() {print(' * 1');});
await Future<void>.delayed(const Duration(milliseconds: 100));
deb.debounce(() {print(' * 2');});
await Future<void>.delayed(const Duration(milliseconds: 100));
deb.debounce(() {print(' * 3');});
await Future<void>.delayed(const Duration(milliseconds: 200));
// print ' * 3'
deb.close();

Categorias

Repositório-fonte

Projetos que usam este pacote