我的应用程序中包含以下内容:
stream: Firestore.instance.collection('stores').document(currentUserUID).snapshots(),
builder: (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
if (snapshot.hasData) {
return ListView.builder(
//do some stuff here with the data
} else {
return LoadingAnimation();
}
}
}
}
相当标准,但出现上面列出的错误。
我已证实在调用此流之前,currentUserID已使用正确的数据填充。
在测试中,我发现此错误可能是由于在运行时“ if(snapshot.hasData){”向我显示快照中还没有数据这一事实引起的。如果我做任何事情,例如最小化应用程序并重新调整焦点,所有数据都会加载。因此,只需要重绘即可。
是否有办法进行“等待”或其他操作?必须针对此问题进行简单的修复,这似乎是一个简单的问题,但我只是无法在其他任何线程中找到解决方案。
任何人都对如何在此流上进行等待或在接收数据时强制其进行更新有任何想法(我认为这是流的全部要点,但是此示例证明了它没有作用这个)。
如果错误消息实际上引用了此代码,则表示currentUserUID
可能是空字符串。这是一个非常常见的错误-如果您在Google中搜索错误消息,则会看到许多其他人也犯了同样的错误。