Javascript 列出Firebase数据库中的节点
我试图从Firebase读取数据,但它不起作用 以下是我尝试过的:Javascript 列出Firebase数据库中的节点,javascript,firebase,firebase-realtime-database,flutter,Javascript,Firebase,Firebase Realtime Database,Flutter,我试图从Firebase读取数据,但它不起作用 以下是我尝试过的: DatabaseReference databaseRef = FirebaseDatabase.instance.reference(); await databaseRef.child('...').once().then((DataSnapshot snapshot) { print(snapshot.value); }); 结果(好): 结构如下: id1 key1 = val1 id2 k
DatabaseReference databaseRef = FirebaseDatabase.instance.reference();
await databaseRef.child('...').once().then((DataSnapshot snapshot) {
print(snapshot.value);
});
结果(好):
结构如下:
id1
key1 = val1
id2
key2 = val2
我想获得每个val(例如:val1、val2等)
我试过:
snapshot.value.forEach((d) {
//print(d);
});
但我得到:
有什么想法吗?目前无法在颤振中的
DataSnapshot
的子节点上循环。看,我刚才创建的
如果顺序不重要,您应该能够从快照中获取映射
,然后循环:
Map Map=snapshot.value;
forEach((key,value){print('$key:$value');});
它工作得很好,但是当我在forEach中添加sthg asynchronous(例如:await cacheManager.getFile(url))时,我会得到“错误:意外的令牌'await',有什么想法吗?通常这意味着您必须将包含的方法标记为async
。但是您所问的代码中没有调用异步函数的内容,因此很难确定。实际上,我已经在方法中使用了“async”和“wait”在我从Firebase检索数据之前工作,知道吗?我编辑了代码以更好地解释:
Map<dynamic,dynamic> map = snapshot.value;
map.forEach((key, value) { print('$key: $value'); });