颤振:卡住从 Firestore 收集 [关闭]
Posted
技术标签:
【中文标题】颤振:卡住从 Firestore 收集 [关闭]【英文标题】:Flutter: stuck getting collection from Firestore [closed] 【发布时间】:2022-01-21 03:14:35 【问题描述】:DocumentReference ref = FirebaseFirestore.instance
.collection('invoices')
.doc(authService.getUser().uid); // or non existing ID
// here works if I return
final doc = await ref.get();
final data = doc.data();
当使用模拟器或真实设备(通过 USB 连接)在本地尝试时工作正常,但在已发布的应用程序中,等待将永远存在。
这在更新到 Flutter 2.8 之前也可以正常工作,但现在它只在 android 上失败了
【问题讨论】:
你处理可能的异常吗? 您的文档的字面意思是“authService.getUser().uid”,确切的字符串? @DougStevenson 很好,我正在使用错误的 ID 进行测试以检查我得到了什么,但无论如何都与错误无关 @Riwen 我处理可能的 null Map savedCompanyInfo = data != null ?数据为 Map重新发布我的 cmets 似乎有帮助:
您应该处理可能的异常。 get
方法返回Future
的实例,该实例可能会出现错误。在等待它时,它可能会抛出。
【讨论】:
我的回答中的具体代码【参考方案2】:我把所有东西都放在一个 trycatch 中
试试 DocumentReference ref = FirebaseFirestore.instance .collection('发票') .doc(authService.getUser().uid);
final doc = await ref.get();
final data = doc.data();
Map savedCompanyInfo = data != null ? data as Map<String, dynamic> : ;
myRents.companyInfo = savedCompanyInfo;
return savedCompanyInfo;
catch (e)
return ;
【讨论】:
以上是关于颤振:卡住从 Firestore 收集 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
颤振开发。通过 Stream Builder 从 Firebase Storage 和 Firestore 获取数据
如何使用颤振和飞镖从 Cloud Firestore 检索特定数据?