【问题标题】:How to fetch nested documents using streambuilder from Firestone in flutter?如何在 Flutter 中使用 Firestone 的 streambuilder 获取嵌套文档?
【发布时间】:2021-02-28 23:26:55
【问题描述】:

我的数据以嵌套形式存储,例如

集合->文档->集合->文档->集合->文档

我在颤振中使用流构建器获取数据。 我的目标是创建一个类的实例,其属性分布在所有三层集合/文档中。

读取第二层后,我的函数返回部分值为 null 的类对象,并在屏幕上显示错误,但一段时间后它会打印最后一层中的值。

由于流生成器,我无法在此处使用 async/await 功能。

我尝试创建嵌套函数,但再次失败。

我也试过 sleep() 函数。

如下所示,在阅读 productVariant 快照后,它会跳过 foreach 循环并创建一个 Order 实例并返回。但是我也在打印这些值,并且在返回命令执行后它们得到了打印。

Code Snippet

【问题讨论】:

  • 我不是在提供答案,而是建议,不要在 UI 中进行抓取!尝试(至少)遵循干净的代码,同时提供一个可粘贴的副本 sn-p 将帮助人们帮助你

标签: firebase flutter listview google-cloud-firestore stream-builder


【解决方案1】:

感谢您的回答,但我找到了解决方案。

我使用了嵌套的 FutureBuilders,它返回承诺的小部件。

我通过使用小部件更新变量来修改我的 Order 实例。

之前

StreamBuilder -> 获取集合和文档

之后

StreamBuilder -> FutureBuilder 获取集合/文档 ->FutureBuilder ->获取内部集合/文档

【讨论】:

    猜你喜欢
    • 2019-12-10
    • 2020-03-04
    • 1970-01-01
    • 2020-12-19
    • 2020-02-16
    • 2020-07-21
    • 2022-07-16
    • 2021-12-10
    • 1970-01-01
    相关资源
    最近更新 更多