我试图在屏幕关闭后从屏幕取回数据,然后将其添加到我的 BLoC 中的流控制器。但是,当我尝试使用 _bloc.streamController.value 检索值时,它为空。流控制器是一个 BehaviorSubject。
void _getDataFromSomeScreen(context) async {
final data = await Navigator.push(
context, MaterialPageRoute(builder: (context) => SomeScreen()))
.then((onValue) {});
_bloc.streamController.sink.add(data);
}
我尝试过的其他选项包括在 then 语句中调用 sink.add,将我的 bloc 传递给函数。
如果我删除“异步”和“等待”并硬编码一个值,它似乎可以工作。为什么异步导致我的数据无法保存到我的流控制器?
void _getDataFromSomeScreen(context) {
_bloc.streamController.sink.add('some data');
}
如何从屏幕返回数据并将其添加到我的流控制器?