搜尋套件、儲存庫與 APP 分類

套件詳情v2.0.1

throttling

包含帶有監聽器的異步輔助類,用於節流和防抖

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
1.8萬
喜歡數
44
Pub 分數
140

安裝套件

flutter pub add throttling

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

該限流套件提供非同步輔助類別,用於在 Dart 應用程式中實作限流與防抖。它讓開發者能夠控制函數執行的頻率,避免在快速事件(例如使用者輸入或網路請求)期間發生過多呼叫。內建的監聽器支援,簡化了跨平台延遲或速率限制操作的管理。非常適合優化反應式 UI 與即時資料處理的效能。

適用情境

  • 限制使用者輸入事件的速率
  • 優化網路請求頻率
  • 提升UI回應性
  • 管理即時資料更新
  • 減少重複計算
  • 處理滾動或調整大小事件

主要特色

  • 節流與防抖工具
  • 與監聽器相容異步
  • 跨平台支援
  • 用於限流的簡單 API
  • 內建的取消處理
  • 同時支援同步與非同步函數

適合對象

  • 開發響應式 Flutter 應用的開發者
  • 需要事件速率控制的團隊
  • 頻繁使用者互動的應用程式
  • 即時資料處理場景
  • 效能關鍵的應用程式

使用建議

  • 需要理解非同步流程
  • 如果閾值過於嚴格,可能會增加延遲
  • 不適合立即執行的需求
  • 必須管理監聽器以避免記憶體洩漏
  • 最佳搭配狀態管理模式使用

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

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();

所屬分類

原始碼儲存庫

使用此套件的專案