流完成后,我需要导航。有没有办法使用它? onDone永远不会调用(流永远不会完成。如何解决此问题?)
_db.getIsApplied(v.user.uid).listen((data){
if(data.isApplied == 'Y'){
if(!mounted) return;
setState(() {
path = '/homePage';
});
}else{
if(!mounted) return;
setState(() {
path = '/accountInfoPage';
});
}
},
onDone: () {
Navigator.of(context).pushNamedAndRemoveUntil(
path, (Route<dynamic> route) => false);
}, onError: (error) {
print("Some Error");
});
答案 0 :(得分:1)
.git
关闭时,将调用onDone
方法:
如果此流关闭并发送完成事件,则onDone处理程序为 叫
您可以在获取数据时拨打导航电话。但是Stream
的目的是在需要多次获取数据的情况下使用它,在这里看来只需要一次即可打开一个新屏幕,因此可以改用Stream