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

24 lines
370 B
Dart

import 'dart:async';
class Throttler {
Throttler({
this.duration = const Duration(milliseconds: 1000),
});
final Duration duration;
Timer? _timer;
void call(Function callback) {
if (_timer?.isActive ?? false) return;
_timer = Timer(duration, () {
callback();
});
}
void dispose() {
_timer?.cancel();
_timer = null;
}
}