gpt4 book ai didi

android - 如何检查Firebase实时数据库中多个节点的读取是否完成?

转载 作者:搜寻专家 更新时间:2023-11-01 08:28:47 25 4
gpt4 key购买 nike

在对检索到的数据执行某些操作之前,我想从多个 Firebase 节点读取数据。目前,我通过将每个请求嵌套在先前请求的完成监听器中来完成此操作,但嵌套会使代码难以维护。有没有办法连续或同时执行多个请求并在所有请求完成时收听?

最佳答案

例如,如果您有两个请求,并且您想在它们都完成和/或成功后运行一些代码:

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 .

关于android - 如何检查Firebase实时数据库中多个节点的读取是否完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42359756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com