我在Flutter应用程序上获得了以下代码。 每当我在新设备上运行它时,firestore中的数据在首次启动时都会返回“不存在”。如果我重新启动应用程序,它将按预期运行。 有人对可能发生的事情有任何暗示吗?
return StreamBuilder<DocumentSnapshot>(
stream: _firebaseStream,
builder: (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
print('snapshot state = ${snapshot.connectionState.toString()}');
if (snapshot.hasError) {
return Center(child: Text('Error: ${snapshot.error}'));
}
if (!snapshot.hasData) {
print('!snapshot.hasData');
return CircularProgressIndicator();
}
if (!snapshot.data.exists) {
print('not snapshot.data.exists');
return CircularProgressIndicator();
}
switch (snapshot.connectionState) {
case ConnectionState.none:
case ConnectionState.waiting:
return CircularProgressIndicator();
default:
... do stuff
}
});
第一次运行,我总是永远拥有状态和CircularProgressIndicator。
"snapshot state = ConnectionState.active"
"not snapshot.data.exists"
感谢您的支持!