gpt4 book ai didi

dart - dart 中的流落后一步

转载 作者:IT王子 更新时间:2023-10-29 07:06:33 26 4
gpt4 key购买 nike

我读了 Filip Hracek @filiph 的一篇文章

One disadvantage that stems from the asynchronicity of streams is that when you build a StreamBuilder, it always shows initialData first (because it is available synchronously) and only then does it show the first event coming from the Stream. This can lead to a flash (one frame) of missing data. There are ways to prevent this — stay tuned for a more detailed article.

我正面临这个问题,我需要知道防止闪退的方法。要是有人知道路就好了。我正在向我的接收器添加新数据,然后访问我的流生成器​​快照以获取数据。但是,如果我使用 rxdart,它会返回 null 或一些种子值的初始数据。我想要最新的数据,我尝试使用 async- await,但没有帮助。我在 map 中设置 snapshot.data 值,索引与我的 itemBuilder 关联。

这是一个示例代码

return ListView.builder(
itemBuilder: (context, int index){
return checkboxListTile(
title: Text(xyz)
value: valueMap[key[index]];
onChanged:(value){bloc.myController.sink.add(value);
valueMap[key[index]] = snapshot.data;}
);
}
);

snapshot.data 返回旧值。所以基本上是滞后一步。我了解这是一个异步同步 问题。但我需要一个解决办法。

最佳答案

在我的案例中,这是一个成功或失败的原因,因为我依赖于 Firestore 云功能更新的数据!!!!!!!!!!!!

根据函数执行的速度,数据并不总是符合预期。

关于dart - dart 中的流落后一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51449619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com