如何在 Flutter 中使用 Firestone 的 streambuilder 获取嵌套文档?
Posted
技术标签:
【中文标题】如何在 Flutter 中使用 Firestone 的 streambuilder 获取嵌套文档?【英文标题】:How to fetch nested documents using streambuilder from Firestone in flutter? 【发布时间】:2021-02-28 23:26:55 【问题描述】:我的数据以嵌套形式存储,例如
集合->文档->集合->文档->集合->文档
我在颤振中使用流构建器获取数据。 我的目标是创建一个类的实例,其属性分布在所有三层集合/文档中。
读取第二层后,我的函数返回部分值为 null 的类对象,并在屏幕上显示错误,但一段时间后它会打印最后一层中的值。
由于流生成器,我无法在此处使用 async/await 功能。
我尝试创建嵌套函数,但再次失败。
我也试过 sleep() 函数。
如下所示,在阅读 productVariant 快照后,它会跳过 foreach 循环并创建一个 Order 实例并返回。但是我也在打印这些值,并且在返回命令执行后它们得到了打印。
Code Snippet
【问题讨论】:
我不是在提供答案,而是建议,不要在 UI 中进行抓取!尝试(至少)遵循干净的代码,同时提供一个可粘贴的副本 sn-p 将帮助人们帮助你 【参考方案1】:感谢您的回答,但我找到了解决方案。
我使用了嵌套的 FutureBuilders,它返回承诺的小部件。
我通过使用小部件更新变量来修改我的 Order 实例。
之前
StreamBuilder -> 获取集合和文档
之后
StreamBuilder -> FutureBuilder 获取集合/文档 ->FutureBuilder ->获取内部集合/文档
【讨论】:
以上是关于如何在 Flutter 中使用 Firestone 的 streambuilder 获取嵌套文档?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 flutter_webview 插件在 Flutter 中启用位置?
如何在flutter中使用flutter_webview_plugin和AndroidX