【发布时间】:2020-09-20 09:55:58
【问题描述】:
我正在尝试从 Firebase 集合中的文档中获取名为“specie”的特定字段。我正在尝试如下,但我有一个错误 type 'Future' is not a subtype of type 'String'。我做错了什么?
存储库方法:
getSpecie(String petId) {
Future<DocumentSnapshot> snapshot = petCollection.document(petId).get();
return snapshot.then((value) => Pet.fromSnapshot(value).specie);
}
实体方法:
factory Pet.fromSnapshot(DocumentSnapshot snapshot) {
Pet newPet = Pet.fromJson(snapshot.data);
newPet.reference = snapshot.reference;
return newPet;
}
factory Pet.fromJson(Map<String, dynamic> json) => _PetFromJson(json);
Pet _PetFromJson(Map<String, dynamic> json) {
return Pet(json['name'] as String,
specie: json['specie'] as String);
}
【问题讨论】:
-
可能您在
getSpecie方法中缺少await字段。 -
嗨,我将 getSpecie 更改为 async 并在返回时添加了 await 但仍然是同样的问题
标签: android ios firebase flutter google-cloud-firestore