flutter pushAndRemoveUntil 的一次小疑惑

刚开始我是这么写的,本意是想等这个操作完成之后 再继续后续的操作。但是发现后续的操作一直不执行,也没有报错。

js 复制代码
await Navigator.of(globalKey.currentState!.context).pushAndRemoveUntil

这是pushAndRemoveUntil的源码,可以看到返回的是newRoute.popped,看字面意思就是等待的是我们push的新route的pop操作。所以也能理解上面的await一直没有返回,一直没有往后继续执行的原因。

js 复制代码
@optionalTypeArgs
Future<T?> pushAndRemoveUntil<T extends Object?>(Route<T> newRoute, RoutePredicate predicate) {
  assert(newRoute._navigator == null);
  assert(newRoute.overlayEntries.isEmpty);
  _pushEntryAndRemoveUntil(
    _RouteEntry(newRoute, pageBased: false, initialState: _RouteLifecycle.push),
    predicate,
  );
  return newRoute.popped;
}

所以这里没必要await push and remove 是同步操作。

相关推荐
于慨2 小时前
flutter doctor问题解决
flutter
唔662 小时前
flutter 图片加载类 图片的安全使用
安全·flutter
Nathan202406163 小时前
Flutter - InheritedWidget
flutter·dart
恋猫de小郭3 小时前
JetBrains Amper 0.10 ,期待它未来替代 Gradle
android·前端·flutter
Lanren的编程日记4 小时前
Flutter鸿蒙应用开发:实时聊天功能集成实战
flutter·华为·harmonyos
Utopia^14 小时前
鸿蒙flutter第三方库适配 - 联系人备份工具
flutter·华为·harmonyos
念格20 小时前
Flutter 仿微信输入框最佳实践:自适应高度 + 超行数智能切换全屏
前端·flutter
程序员老刘21 小时前
《Flutter跨平台开发核心技巧与应用》新书来了
flutter·ai编程·客户端
空中海1 天前
7.1 Flutter 性能模型
flutter