throttleFuture<T> function
dynamic
throttleFuture<T>(
- Future<
T> fn(), { - VoidCallback? onLocked,
- VoidCallback? onUnlocked,
- VoidCallback? onIgnored,
Implementation
throttleFuture<T>(
Future<T> Function() fn, {
VoidCallback? onLocked,
VoidCallback? onUnlocked,
VoidCallback? onIgnored,
}) async {
if (_future != null) {
onIgnored?.call();
return;
} else {
onLocked?.call();
_future = fn();
_future!.whenComplete(() {
_future = null;
onUnlocked?.call();
});
}
}