AppFlowy/frontend/appflowy_flutter/lib/util/debounce.dart
2024-04-08 14:06:05 +08:00

24 lines
336 B
Dart

import 'dart:async';
class Debounce {
Debounce({
this.duration = const Duration(milliseconds: 1000),
});
final Duration duration;
Timer? _timer;
void call(Function action) {
dispose();
_timer = Timer(duration, () {
action();
});
}
void dispose() {
_timer?.cancel();
_timer = null;
}
}