【发布时间】:2021-12-01 14:18:31
【问题描述】:
我将此代码中的字符串名称分配给文档中的名称,但它不会从 null 更改,我不明白为什么。
我将在 listTile 中使用这个变量
String name='';
FirebaseFirestore.instance
.collection('Users')
.doc('list_students')
.collection('Students')
..where('Email', isEqualTo: userEmail)
.get()
.then((QuerySnapshot querySnapshot) {
querySnapshot.docs.forEach((doc) {
name = doc['Full Name'];
});
});
【问题讨论】:
-
您的大部分代码都是异步运行的,但您期望的是同步行为。不要使用
then,您应该将您的方法标记为async,并使用await和await for使您的代码更具可读性和更易于理解执行流程。 -
如果添加
print(doc['Full Name']);语句,doc['Full Name']会打印什么? -
它将打印名称,但我想将其存储在变量中以在其他地方使用它
标签: firebase flutter dart google-cloud-firestore