検索されたデータでいくつかのアクションを実行する前に、いくつかのFirebaseノードから読みたいと思います。現在、私は以前の要求の完了リスナーで各要求を入れ子にすることでこれを達成しましたが、入れ子にするとコードを維持するのが難しくなります。複数のリクエストを連続して実行する方法と、同時に複数のリクエストを実行する方法がありますか?Firebaseリアルタイムデータベースのいくつかのノードからの読み取りの完了を確認する方法は?
答えて
例次の2つの要求を持っていて、それらの両方が完了した後、いくつかのコードを実行し、および/または成功したい場合:
Boolean ref1done = false;
Boolean ref2done = false;
// if you need data from snapshot
DataSnapshot result1;
DataSnapshot result2;
ref1done = false;
dataRef1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ref1done = true;
result1 = dataSnapshot;
doThisAfter();
}
...
});
ref2done = false;
dataRef2.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ref2done = true;
result2 = dataSnapshot;
doThisAfter();
}
...
});
...
public function doThisAfter() {
if (ref1done && ref2done) {
// do something
// if you need data from snapshot, it can be accessed from result1 and result2
}
}
これが最善の解決策ではないかもしれないが、私もまだであればそこに探していますより良いものです。または、EventBusを試してみてください。
4つのリクエストに対してパフォーマンス低下が起こるかどうかは分かりませんがそうですね。私はValueEventListenersのArrayListを作成し、それらを1つずつ実行するオブジェクトに渡し、1つのValueEventListenerの完了時に起動して2番目のイベントを処理するカスタムイベントリスナーを使用し、 datasnapshotsのArrayListを返す:) – wilkas
良い解決策が与えられない場合は、明日の回答を受け付けます。 – wilkas
現在、アプリ起動時に同時に5-6リクエストを使用しています。私は1つの要求だけを呼び出すときと比べて大きな違いはないことに気づいた。でも私はまだ学んでいます。あなたは[私が見つけたこのページ](http://stackoverflow.com/questions/35931526/)を見たいかもしれません。 – koceeng
- 1. firebaseリアルタイムデータベースからの削除方法は?
- 2. AndroidでFirebaseリアルタイムデータベースからデータを取り出す方法は?
- 3. Firebaseリアルタイムデータベースへのアクセスが完了していませんか?
- 4. JSファイルの読み込みが完了したかどうかを確認する方法は?
- 5. Firebaseリアルタイムデータベースの以前のノードと書き込み/更新されたノードの違いを取得する方法
- 6. 特定のユーザのFirebaseリアルタイムデータベース読み取りルール
- 7. docker execのcmdsがいつ完了するかを確認する方法
- 8. Google Web Designer:initAd()の読み込みが完了したかどうかの確認
- 9. iframeの読み込みが完了したかどうかを確認する方法
- 10. Firebaseリアルタイムデータベース:子値が存在するかどうかを確認する方法
- 11. firebase js .forEachメソッドの完了を確認しますか?
- 12. Firebase setValueの完了を聞く方法
- 13. Firebaseリアルタイムデータベースへの読み込み
- 14. XPathのノードから2つ以上の属性を読み取る方法は?
- 15. Firebase:リアルタイムデータベースからデータを取得する
- 16. 複数のajaxリクエストの完了を確認する方法は?
- 17. Android StudioのFirebaseデータベースから値を1つだけ読み取る方法は?
- 18. App Firebaseリアルタイムデータベースから読み込むとクラッシュする
- 19. Smart gwt。読み込みが完了したかどうかを確認する方法
- 20. Firebaseのリアルタイムデータベースの子要素を取り出す方法
- 21. 画像とテキストをFirebaseリアルタイムデータベースに読み書きする方法
- 22. Firebase:特定のデータを持つ子を除く親のすべての子ノードを読み取る方法
- 23. Javaでfirebaseタスクが完了しているかどうかを確認する方法は?
- 24. firebaseリアルタイムデータベースから特定のオブジェクトを削除する方法
- 25. Firebase - エンドポイントからの読み取りアクセス権を持つアイテムを取得する
- 26. Firebaseデータベースの子ノードから値を取得する方法は?
- 27. ノード内のReadStreamから同期して読み取る方法
- 28. Firebase - アメリカのどの州から来ているのかを確認する方法はありますか?
- 29. Firebaseはアプリケーションからの認証なしで読み取ります
- 30. すべてのクリックが読み込み要素を完了したかどうかを確認するJavaScriptチェック:
汎用ソリューションがここに表示されています:http://stackoverflow.com/a/38188683/4815718 –