21 lines
359 B
Dart
Raw Normal View History

2024-10-17 14:00:22 +04:00
import 'dart:async';
import 'dart:ui';
class Debounce {
factory Debounce() => _instance;
Debounce._();
static final Debounce _instance = Debounce._();
static Timer? _timer;
2024-11-18 12:35:29 +04:00
static void run(
VoidCallback action, {
2024-11-27 16:09:47 +04:00
Duration delay = const Duration(milliseconds: 2000),
2024-11-18 12:35:29 +04:00
}) {
2024-10-17 14:00:22 +04:00
_timer?.cancel();
_timer = Timer(delay, action);
}
2024-11-18 12:35:29 +04:00
}