我尝试将一个. foreach
循环转换为一个Future.for每个
循环在flutter中等待循环。我想要循环的元素是Firebase实时数据库中的快照。
我的函数如下所示:
Future<User> getUserByUid(String uid) async {
DataSnapshot dataSnapshot =
await databaseRef.orderByChild("uid").equalTo(uid).once();
List user = List();
dataSnapshot.value.forEach((key, value) async {
User entry = await User.fromJson(value);
await entry.setId(key);
user.add(entry);
});
if (user.isNotEmpty) {
return user[0];
} else {
return null;
}
}
我尝试了不同的方法,但是我没有让函数工作。
第一次尝试:
Future<User> getUserByUid(String uid) async {
DataSnapshot dataSnapshot =
await databaseRef.orderByChild("uid").equalTo(uid).once();
List user = List();
await Future.forEach(dataSnapshot.value, (element) {
print(element);
});
if (user.isNotEmpty) {
return user[0];
} else {
return null;
}
}
错误:
未处理的异常:键入'_InternalLinkedHashMap
第二次尝试:
Future<User> getUserByUid(String uid) async {
DataSnapshot dataSnapshot =
await databaseRef.orderByChild("uid").equalTo(uid).once();
List user = List();
for (var u in dataSnapshot.value) {
print(u);
}
if (user.isNotEmpty) {
return user[0];
} else {
return null;
}
}
错误:
未处理的异常:键入'_InternalLinkedHashMap
在所有的尝试中,我都得到了相同的错误。但是。forEach
上述示例有效。
额外的问题:在. foreach
中,我也得到了key
变量。这也可以在Future.for每个在某种程度上?
您试图在地图上循环,但是(正如错误所说)地图是不可迭代的。不过,您可以循环使用地图的键:
for (var key in dataSnapshot.value.keys) {
print(dataSnapshot.value[key]);
}
将循环转换为时遇到问题。 方法返回 我尝试过,但需要等待将转换为并且我无法添加它。 我正在尝试下载大约15个报告异步,以等待所有的已经下载,然后将它们合并成一个PDF。 注意:我使用的是框架4.8.3
foreach循环遍历列表值并将控制变量(var)依次设置为列表的每个元素 - 语法 (Syntax) Perl编程语言中foreach循环的语法是 - foreach var (list) { ... } 流程图 (Flow Diagram) 例子 (Example) #!/usr/local/bin/perl @list = (2, 20, 30, 40, 50); # foreach lo
除了前面介绍的几种循环语句外,C# 同样也支持 foreach 循环,使用 foreach 可以遍历数组或者集合对象中的每一个元素,其语法格式如下: foreach(数据类型 变量名 in 数组或集合对象){ 语句块; } foreach 会在每次循环的过程中,依次从数组或集合对象中取出一个新的元素放到 里定义的变量中,直到所有元素都成功取出后退出循环。 【示例】使用 foreach 循环
本文向大家介绍C# Foreach循环,包括了C# Foreach循环的使用技巧和注意事项,需要的朋友参考一下 示例 foreach将迭代实现的类的任何对象IEnumerable(请注意IEnumerable<T>从其继承的对象)。此类对象包括一些内置对象,但不限于:List<T>,T[](任何类型的数组),Dictionary<TKey, TSource>以及诸如IQueryable和IColl
Perl 循环 Perl foreach 循环用于迭代一个列表或集合变量的值。 语法 语法格式如下所示: foreach var (list) { ... } 流程图 Perl 循环
问题内容: 我本来打算通过 在。有几点我不了解。 迭代器函数的用途是什么?没有它,还有什么办法吗? 如下所示,键和值的意义是什么? PS: 我试图在不带参数的情况下运行此函数,但它不起作用。 这是我的: 我的档案: 另一个问题 :如果在控制台中出现条件并显示“ username is thomas”,为什么上面的功能没有打开? 问题答案: 问题1和2 因此,基本上,第一个参数是要迭代的对象。它可以