パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.0.0

debounce_throttle

Futures、Streams、コールバックと連携するデバウンサーおよびスロットル。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
19.9万
いいね数
75
Pub ポイント
160

パッケージをインストール

flutter pub add debounce_throttle

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

非同期操作(Futures、Streams、コールバックなど)に対してデバウンスおよびスロットリング機能を提供する軽量なDartパッケージです。ユーザー入力やネットワークリクエストなどの高頻度イベントを遅延または制限実行することで、パフォーマンスを向上させ、リソース使用量を削減します。検索入力、リサイズハンドラー、リアルタイムフォーム検証の最適化に最適です。このパッケージはプラットフォームに依存せず、Android、iOS、Web、macOS、Windows、LinuxのFlutterアプリケーションにシームレスに統合できます。

用途

  • 検索入力の遅延を最適化する
  • 高速API呼び出しの削減
  • リアルタイムフォーム検証の管理
  • ウィンドウリサイズイベントの処理
  • スクロールパフォーマンスの向上
  • ボタンクリックレートの制御

主な機能

  • Futures、Streams、コールバックをサポート
  • クロスプラットフォーム互換性
  • シンプルで直感的な API
  • 設定可能な遅延およびスロットリング間隔
  • 外部の依存関係なし
  • スレッドセーフな操作

適している対象

  • 応答性のあるUIを構築する開発者
  • 頻繁なユーザー操作を伴うアプリ
  • パフォーマンスが重要なアプリケーション
  • リアルタイムデータ処理
  • 複数のプラットフォームをターゲットとするFlutterアプリ

注意事項

  • 非同期プログラミングの理解が必要です
  • 時間に敏感な操作において遅延を引き起こす可能性があります
  • 即時の応答シナリオには適していません
  • 遅延値の正確な調整が必要です
  • イベントレート制限の使用事例に限定
  • 複雑な状態管理を処理しない

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

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

カテゴリー

依存関係

依存関係一覧 2 件

ソースリポジトリ

このパッケージを使用しているプロジェクト