Firebase 如何在Flatter中使用streambuilder从Firestone获取嵌套文档?

Firebase 如何在Flatter中使用streambuilder从Firestone获取嵌套文档?,firebase,flutter,listview,google-cloud-firestore,stream-builder,Firebase,Flutter,Listview,Google Cloud Firestore,Stream Builder,我的数据以嵌套形式存储,如 收款->单据->收款->单据->收款->单据 我正在使用flutter中的streambuilder获取数据。 我的目标是创建一个类的实例,该类的属性分布在集合/文档的所有三层中 读取第二层后,我的函数返回部分值为null的类对象,并在屏幕上显示错误,但一段时间后,它会打印最后一层中的值 由于流生成器的原因,我无法在此使用异步/等待功能 我试图创建嵌套函数,但再次没有 我也试过睡眠功能 如下所示,在阅读productVariant快照后,它跳过foreach循环并创建

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

收款->单据->收款->单据->收款->单据

我正在使用flutter中的streambuilder获取数据。 我的目标是创建一个类的实例,该类的属性分布在集合/文档的所有三层中

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

由于流生成器的原因,我无法在此使用异步/等待功能

我试图创建嵌套函数,但再次没有

我也试过睡眠功能

如下所示,在阅读productVariant快照后,它跳过foreach循环并创建Order和return的实例。然而,我也在打印这些值,它们在return命令执行后得到了打印


谢谢你的回答,但我找到了解决办法

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

我通过使用小部件更新变量修改了订单实例

以前

StreamBuilder->获取集合和文档

之后


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

我不是提供答案,而是建议,不要在UI中进行获取!至少尝试遵循干净的代码,同时提供一个可复制的代码片段将有助于人们帮助您