Files
plan_flutter/lib/utils/debouncer.dart
zhutao 0231dcfe1a 1
2025-09-04 17:57:35 +08:00

21 lines
430 B
Dart

import 'dart:async';
import 'dart:ui';
class Debouncer {
final int milliseconds;
Timer? _timer;
Debouncer({this.milliseconds = 500});
/// 调用时会延迟执行,如果期间再次调用会重置计时器
void run(VoidCallback action) {
_timer?.cancel();
_timer = Timer(Duration(milliseconds: milliseconds), action);
}
/// 页面销毁时要记得调用
void dispose() {
_timer?.cancel();
}
}