dismiss<T extends Object?> method
Future<void>
dismiss<
T extends Object?>([ - T? result
])
Implementation
Future<void> dismiss<T extends Object?>([T? result]) async {
if (_isDismiss) {
return;
}
_isDismiss = true;
if (isPopped) {
assert(() {
__shower_log__('❗️❗️❗️ $routeName dismissed ??? already popped by using the most primitive pop/remove ???');
return true;
}());
} else {
assert(() {
__shower_log__('>>>>>>>>>>>>>> dismiss popping: $routeName');
return true;
}());
isSyncDismiss ? _rawDismiss<T>(result) : Future.microtask(() => _rawDismiss<T>(result));
if (NavigatorObserverEx.statesChangingShowers?[routeName] == null) {
isPopped = true;
}
_invokeDismissCallbacks();
await poppedCompleter.future;
assert(() {
__shower_log__('>>>>>>>>>>>>>> dismiss popped done: $routeName');
return true;
}());
}
}