1
我使用this question作为参考,因为它非常相似。在侦听更改时查询多个键 - Firebase
如果我有一组自定义键的:
-Ke1uhoT3gpHR_VsehIv
-Ke8qAECkZC9ygGW3dEJ
-Ke8qMU7OEfUnuXSlhhl
也知道他们都做一个节点下存在(比方说/items
),我将如何查询它们,同时监听变动对这些键(又名不使用myRef.once(value)
但使用myRef.on('value', snapshot => { ... })
我知道这是可能的:
var keys = [
"-Ke1uhoT3gpHR_VsehIv",
"-Ke8qAECkZC9ygGW3dEJ",
"-Ke8qMU7OEfUnuXSlhhl"
];
var promises = keys.map(function(key) {
return firebase.database().ref("/items/").child(key).once("value");
});
Promise.all(promises).then(function(snapshots) {
snapshots.forEach(function(snapshot) {
console.log(snapshot.key+": "+snapshot.val());
});
});
,但它是一个ST atic快照。聆听变化时可以做到这一点吗?
你想完成什么?因为链接答案中的Promise.all()是为了确保您可以检测何时加载了所有数据。既然你指出你想使用常规的/ on()监听器,那么等待它们的值的用例是什么? –
@FrankvanPuffelen这些键表示在Feed中显示的作业。我希望Feed中的工作能够实时更新(可以说工作的创建者更新了工作时间)。 –
所以听起来像普通的'on()'监听器可以工作,并且你不需要'Promise.all()'。您问题中的代码是您链接的答案中的1:1副本。你是否已经尝试用'on()'连接监听器? –