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 天前
跨平台开发地图 | 2026年6月
flutter·ai编程·客户端
悟空瞎说3 天前
Flutter 架构详解:新手必懂底层原理
flutter
SoaringHeart3 天前
Flutter最佳实践:IM聊天文字链接自动识别跳转
前端·flutter
恋猫de小郭3 天前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter
风华圆舞4 天前
Flutter + 鸿蒙 Intents Kit:页面直达能力的完整接入方案
flutter·ui·华为·harmonyos
韩曙亮4 天前
【Flutter】Flutter 组件 ④ ( 组件渲染 的 三棵树理论 | Widget 树 → Element 树 → RenderObject 树 )
flutter·element·widget·renderobject
恋猫de小郭4 天前
Android 17 正式版发布,全新 AI 和各种破坏性更新
android·前端·flutter
kingbal4 天前
Windows:flutter环境搭建
windows·flutter
911hzh4 天前
Flutter MethodChannel 跨端通信框架 zh_native_channel:快速入门、优势分析与 Pigeon 对比
flutter
911hzh4 天前
Flutter 快速搭建新项目:用 Flutter Foundation Kit 一条命令生成带基础架构的 App 模板
flutter