【发布时间】:2018-09-29 17:51:36
【问题描述】:
我是火力基地的新手。我正在使用 firebase 数据库。在其中我有两个节点,一个具有用户信息,第二个具有来自用户的帖子上的所有 cmets。这些是数据库结构
用户节点
我想要做的是获取帖子的所有 cmets,然后获取 from_key,这实际上是从该评论节点对帖子发表评论的用户密钥,然后从 firebase 获取该特定用户信息。我写了以下代码。
$(".all_firebase_keys").each(function () {
database.ref('comments/' + $(this).val()).on('child_added', function (snapshot) {
values = snapshot.val();
console.log(values.comment);
snapshot.forEach(function (path) {
if (path.key == "from_key") {
database.ref('users/' + values.from_key).once("value", function (user) {
console.log(values.comment + " " + user.val());
});
}
})
});
});
我面临的问题是,由于 firebase 调用是异步的,它没有以正确的顺序进行调用。我想让它像首先获取 cmets 一样同步,然后为每个评论获取用户详细信息,然后继续下一条评论。请帮助我如何实现它我已经花了很多时间寻找解决方案并最终将其发布在这里。这不是其他问题的重复。
电流输出
- 评论1
- 评论2
- 用户 a
- 用户 b
我想要的输出
- 评论1用户a
- 评论 2 用户 b
【问题讨论】:
标签: javascript firebase firebase-realtime-database