Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter Dart:获取流中的当前值_Flutter_Dart_Firebase Authentication_Stream - Fatal编程技术网

Flutter Dart:获取流中的当前值

Flutter Dart:获取流中的当前值,flutter,dart,firebase-authentication,stream,Flutter,Dart,Firebase Authentication,Stream,我正在制作一个Flitter应用程序,在那里我使用Firebase Auth和Cloud Firestore。对于每个用户,我都有一个以用户uid作为文档id的培训师文档。 当我更新培训师的数据时,我希望确保只有当前登录用户的文档可以修改 我有一个AuthService类,它使用以下方法获取当前用户: Stream<FirebaseUser> get user { return _auth.onAuthStateChanged; } 流获取用户{ 返回_auth.onAuthS

我正在制作一个Flitter应用程序,在那里我使用Firebase Auth和Cloud Firestore。对于每个用户,我都有一个以用户uid作为文档id的培训师文档。 当我更新培训师的数据时,我希望确保只有当前登录用户的文档可以修改

我有一个AuthService类,它使用以下方法获取当前用户:

Stream<FirebaseUser> get user {
  return _auth.onAuthStateChanged;
}
流获取用户{
返回_auth.onAuthStateChanged;
}
因此,当我想更改DatabaseService类中的trainer文档时,我想获取流的当前值以获取用户uid。我认为我不能使用StreamBuilder或Provider,因为这不是一个小部件树,而是一个简单的Dart类。但是,我认为我也不能使用.listen(),因为我只想获取当前流的值,而不是所有值


如何获取Dart流的当前值?

您可能会保留一个局部变量
currentUser
,监听流,并在每次流给出新值时更新
currentUser
。每当您想要获取当前用户时,请阅读
currentUser

您可能会保留一个局部变量
currentUser
,监听流,并在每次流给出新值时更新
currentUser
。只要您想获取当前用户,请阅读
currentUser