StreamBuilder(
stream: Firestore.instance.collection('aaaaaaaaaaaaaaaa').snapshots(),
builder: ( context , snap){
if(snap.data == null){
print('A');
}
if(snap.data != null){
print(snap.data);
print('B');
}
显然集合('aaaaaaaaaaaaaaaa')根本不存在,那么为什么它不返回null?
答案 0 :(得分:1)
查询不存在(或为空)的集合不是错误。因此,如果没有结果,Firestore会为您提供空的QuerySnapshot
,而不是错误。
要检测是否有任何结果,请检查QuerySnapshot
是否有任何文档(FlutterFire似乎没有包装原生QuerySnapshot.isEmpty()
method。
答案 1 :(得分:0)
您应该使用hasData
来检查是否有数据:
StreamBuilder(
stream: Firestore.instance.collection('aaaaaaaaaaaaaaaa').snapshots(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasData) {
print("a");
} else{
return Text("No data");
}
return CircularProgressIndicator();
},
),