首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在防火墙响应之前执行的返回语句

在防火墙响应之前执行的返回语句
EN

Stack Overflow用户
提问于 2022-09-01 18:06:42
回答 1查看 29关注 0票数 0

我使用FirebaseFirestore对nosql数据库,我有一个专用的java类来执行所有的防火墙读写和删除查询。

我面临的问题是,在从Firestore中获取用户数据并将其存储在数组列表中时。在数组列表中更新所有用户之后,我将返回该列表来更新UI。但是我下面的功能是返回空列表,然后firebase查询将数据更新到列表中。

代码语言:javascript
复制
public List<Users> getAllUsers() {
    return loadAllUserData();
}
private List<Users> loadAllUserData() {
    List<Users> usersList  = new ArrayList<>();

    mFirebaseFirestore.collection(USER_DATA).get()
            .addOnSuccessListener(queryDocumentSnapshots -> {
                List<DocumentSnapshot> docSnap = 
                queryDocumentSnapshots.getDocuments();
                
                for (DocumentSnapshot docs : docSnap) {
                    Users user = docs.toObject(Users.class);
                    usersList.add(user);
                    Log.d(TAG, "onSuccess: loaded Users : " + usersList.size());
                }
            });
    Log.d(TAG, "loadAllUserData: Returning users : " + usersList.size());

    return usersList;
}

日志

2022-09-01 23:13:38.786 /com.app D/Repository:存储库:调用

2022-09-01 23:13:38.787 /com.app D/Repository:存储库:调用

2022-09-01 23:13:38.787 /com.app D/Repository: loadAllUserData:返回用户:0

2022-09-01 23:13:38.962 /com.app D/Repository: onSuccess: loaded :1

2022-09-01 23:13:38.962 /com.app D/Repository: onSuccess: loaded :2

2022-09-01 23:13:38.962 /com.app D/Repository: onSuccess: loaded :3

2022-09-01 23:13:38.963 /com.app D/Repository: onSuccess: loaded :4

EN

回答 1

Stack Overflow用户

发布于 2022-09-01 20:22:00

get()操作是一个异步操作。因此,返回将在addOnSuccessListener之前执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73573758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档