尝试检查Firebase记录并执行后续逻辑,
Future<bool> isAlreadyThere(selectedPropertyId) async {
final FirebaseUser user = await FirebaseAuth.instance.currentUser();
var myMapQuery = Firestore.instance
.collection("props")
.where('xxx', isEqualTo: xxxid)
.where('yyy', isEqualTo: user.uid);
var querySnapshot= await myMapQuery.getDocuments();
var totalEquals= querySnapshot.documents.length;
return totalEquals > 0;
}
以及小部件的onTap()
中
bool isThere=isAlreadyThere(suggestion.documentID) as bool;
if (isThere) {//do stuff here}
错误, 类型'Future'不是强制类型转换中'bool'类型的子类型
我知道它的强制转换,但也尝试了删除和其他一些方式,无法正常工作。
答案 0 :(得分:1)
await
在查询位置丢失
Future<bool> isAlreadyThere(selectedPropertyId) async {
final FirebaseUser user = await FirebaseAuth.instance.currentUser();
var myMapQuery = (await Firestore.instance
.collection("props")
.where('xxx', isEqualTo: xxxid)
.where('yyy', isEqualTo: user.uid));
var querySnapshot= await myMapQuery.getDocuments();
var totalEquals= querySnapshot.documents.length;
return totalEquals > 0;
}
使用类似方法
isAlreadyThere(suggestion.documentID).then((value) {
if (value) {//do stuff here}
});