Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 颤振:可以等待兄弟小部件完成构建吗?_Firebase_Flutter_Dart_Google Cloud Firestore - Fatal编程技术网

Firebase 颤振:可以等待兄弟小部件完成构建吗?

Firebase 颤振:可以等待兄弟小部件完成构建吗?,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,标题可能说明了一切。我的场景是,我有不同的小部件等待firebase数据构建它们的内容。最后一个小部件应该等待其他小部件完成,并根据从Firebase检索到的数据进行一些计算。这可能吗 我已尝试ValueListenableBuilder,该程序导致以下错误: 为ValueNotifier发送通知时引发了以下断言: 在生成过程中调用setState()或markNeedsBuild()。在build方法中,使用用于操作的FutureBuilder小部件。FutureBuilder小部件包含一个名

标题可能说明了一切。我的场景是,我有不同的小部件等待firebase数据构建它们的内容。最后一个小部件应该等待其他小部件完成,并根据从Firebase检索到的数据进行一些计算。这可能吗

我已尝试ValueListenableBuilder,该程序导致以下错误:

为ValueNotifier发送通知时引发了以下断言:
在生成过程中调用setState()或markNeedsBuild()。

build
方法中,使用用于操作的
FutureBuilder
小部件。
FutureBuilder
小部件包含一个名为
future
的属性,该属性采用一个返回
future
的方法


在该方法中,您可以使用
wait
执行第一个查询,并使用第一个查询的结果执行第二个查询

这是因为您想在
build
方法内部执行某些操作-这是错误的,因为
build
可以被多次调用,并且您无法控制它-如果您有一些使用
Future
/
Stream
的数据层,请使用它们的API来确定数据何时准备好并执行完全符合您的要求的代码@pskink。我最近也遇到了同样的问题,我解决了它,但构建了另一个异步方法。在该方法中,我等待1微秒,因此构建方法完成,我更改数据并调用setState。是否可以在方法中添加未来而不是等待1微秒?我总是认为等待一段固定的时间是不安全的(或浪费)。谢谢。按照您的方法,我成功地构建了它。本质上,我将嵌套的Firebase访问放在未来的方法中,在构建上下文之前等待该方法。