push<T> method
Pushes a route onto the navigation stack.
Returns a Future that completes with the result value when the route is popped.
Implementation
Future<T?> push<T>(Route<T> route) {
final completer = Completer<T?>();
route.completer = completer;
_routeCompleters[route] = completer;
final previousRoute = _routes.isNotEmpty ? _routes.last : null;
_installRoute(route);
setState(() {});
for (final observer in widget.observers) {
observer.didPush(route, previousRoute);
}
return completer.future;
}