【发布时间】:2020-04-01 21:46:57
【问题描述】:
从下面的代码中,我无法在没有等待的情况下访问当前状态用户的用户 ID。如果我需要像下面那样使用等待,我需要将代码包含在一个方法中,以便异步。但是,由于代码包含在方法中,我无法访问 databaseReference 中的用户 ID 变量。 你能帮忙吗:
somemethod() async{
FirebaseUser userid = await FirebaseAuth.instance.currentUser();
}
final **databaseReference** = FirebaseDatabase.instance.reference().child("UserProfile").child(userid.uid).("Favorites");
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: **databaseReference**.once(),
builder: (context, AsyncSnapshot<DataSnapshot> snapshot) {
if (snapshot.hasData) {
List<Map<dynamic, dynamic>> list = [];
for (String key in snapshot.data.value.keys) {
list.add(snapshot.data.value[key]);
}
从这段代码中,我希望在 databaseReference 中访问方法中包含的用户 ID,以便我可以在 FutureBuilder 中使用 databaseReference 来检索用户信息。
谢谢。
【问题讨论】:
标签: flutter firebase-realtime-database dart