gpt4 book ai didi

asynchronous - 如何在 Flutter 的 Firebase 快照上调用 Future?

转载 作者:IT王子 更新时间:2023-10-29 07:14:04 25 4
gpt4 key购买 nike

当我使用 StreamBuilder 返回一个快照时,我收到一个重复的错误,该错误只持续一两秒,上面写着“在 null 上调用快照”。我相信我需要让我的快照异步,但我可能完全错了。这是我的代码...

child: new StreamBuilder(
stream: fb.child('UserVideo/${fUser.uid}').orderByKey().onValue,
builder: (BuildContext context, AsyncSnapshot<Event> event) {
if (event.data.snapshot.value == null) {
return new Card(
child: new Center(
child: new Text('SEARCH',
textAlign: TextAlign.center,
style: new TextStyle(
fontSize: 30.0,
fontFamily: 'Chewy',
color: Colors.black)),
),
);
} else if (event.data.snapshot.value != null) {
Map unsorted =
event.data.snapshot.value; //store each map

final myMap =
new SplayTreeMap<String, dynamic>.from(
unsorted,
(a, b) => unsorted[a]['rank']
.compareTo(unsorted[b]['rank']));

//Map myMap = event.data.snapshot.value; //store each map
var titles = myMap.values;

List onesTitles = new List();
List onesIds = new List();
List onesImages = new List();
List onesRank = new List();

for (var items in titles) {
onesTitles.add(items['title']);
onesIds.add(items['videoID']);
onesImages.add(items['imageString']);
onesRank.add(items['rank'].toString());
}

names = onesTitles;
ids = onesIds;
numbers = onesRank;
vidImages = onesImages;

我正在将我的用户信息排列到列表中,然后从中填充卡片信息。

最佳答案

使用安全导航运算符应该可以防止该错误

event.data?.snapshot?.value

只有当前面的部分评估为 != null 时,它才会评估后续部分

关于asynchronous - 如何在 Flutter 的 Firebase 快照上调用 Future?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50310896/

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