、それは非常に似ているので、私は、参照として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キーはフィードに表示されるジョブを表します。フィード内のジョブがリアルタイムで更新されるようにしたいと思います(ジョブの作成者がジョブ時間を更新したと言うことができます)。 –
通常の 'on()'リスナーのような音が働き、 'Promise.all()'は必要ありません。あなたの質問のコードは、リンクした私の答えからの1:1のコピーです。すでに 'on()'でリスナーを追加しようとしましたか? –