launchWhenLifecycleEventDestroy<T> method
Future<T>
launchWhenLifecycleEventDestroy<
T>({ - bool runWithDelayed = false,
- Cancellable? cancellable,
- required FutureOr<T> block(
- Cancellable cancellable
),
})
Implementation
Future<T> launchWhenLifecycleEventDestroy<T>(
{bool runWithDelayed = false,
Cancellable? cancellable,
required FutureOr<T> Function(Cancellable cancellable) block}) {
Completer<T> completer = Completer.sync();
addLifecycleObserver(LifecycleObserver.eventDestroy(() {
if (!completer.isCompleted && cancellable?.isUnavailable != true) {
completer.complete(block(cancellable ?? Cancellable()));
}
}));
return completer.future;
}