Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.0.0

debounce_throttle

Ein Debouncer und Throttle, der mit Futures, Streams und Callbacks funktioniert.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
199.000
Likes
75
Pub-Punkte
160

Paket installieren

flutter pub add debounce_throttle

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein leichtgewichtiges Dart-Paket, das Debouncing und Throttling für asynchrone Operationen wie Futures, Streams und Callbacks bereitstellt. Es hilft bei der Verwaltung von Hochfrequenzereignissen – beispielsweise Benutzereingaben oder Netzwerkanfragen – durch Verzögerung oder Begrenzung der Ausführung, um Leistung zu verbessern und Ressourcenverbrauch zu reduzieren. Ideal zur Optimierung von Sucheingaben, Größenänderungs-Handlern und Echtzeit-Formularvalidierung. Das Paket ist plattformunabhängig und lässt sich nahtlos in Flutter-Anwendungen auf Android, iOS, Web, macOS, Windows und Linux integrieren.

Anwendungsfälle

  • Optimierung von Sucheingabeverzögerungen
  • Reduzierung schneller API-Aufrufe
  • Verwaltung der Echtzeit-Formularvalidierung
  • Behandlung von Fenstergrößenänderungsereignissen
  • Verbesserung der Scrollleistung
  • Kontrolle der Klickrate der Schaltfläche

Hauptmerkmale

  • Unterstützt Futures, Streams und Callbacks
  • Plattformübergreifende Kompatibilität
  • Einfaches und intuitives API
  • Konfigurierbare Verzögerungs- und Drosselintervalle
  • Keine externen Abhängigkeiten
  • Thread-sichere Operationen

Geeignet für

  • Entwickler, die responsive Benutzeroberflächen erstellen
  • Apps mit häufigen Benutzerinteraktionen
  • Leistungs-kritische Anwendungen
  • Echtzeit-Datenverarbeitung
  • Flutter-Anwendungen für mehrere Plattformen

Hinweise

  • Erfahrung mit asynchroner Programmierung erforderlich
  • Kann bei zeitkritischen Operationen eine Latenz einführen
  • Nicht geeignet für Szenarien mit sofortiger Antwort
  • Erfordert sorgfältige Abstimmung der Verzögerungswerte
  • Beschränkt auf Anwendungsfälle der Ereignisratenbegrenzung
  • Behandelt keine komplexe Zustandsverwaltung

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden