亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅當前一個對象完成時,如何從 Firebase 獲取對象?

僅當前一個對象完成時,如何從 Firebase 獲取對象?

HUH函數 2022-01-19 15:37:51
我有一個列表,其中充滿了用戶 ID,如下所示:List<String> userIds = new ArrayList<>();現在我想遍歷這個列表并從 Firebase 數據庫中獲取所有相應的用戶對象。這是我的代碼:for (String uid : userIds) {    usersRef.child(uid).addListenerForSingleValueEvent(new ValueEventListener() {        @Override        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {            User user = dataSnapshot.getValue(User.class);            //Create another listener?        }        @Override        public void onCancelled(@NonNull DatabaseError databaseError) {}    });}我知道我可以使用嵌套偵聽器,但我不能這樣做,因為我的列表有超過 1000 個 uid。僅當前一個用戶對象完成時,如何才能獲取下一個用戶對象?我從他在這篇文章中的回答中關注了 Frank van Puffelen 的評論,但我無法完成這項任務。謝謝?。?!
查看完整描述

1 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

要按順序加載它們,只需從列表中刪除您獲得的 ID。


像這樣的東西:


public void getNextUser() {

  if (list.size() > 0) {

    String uid = list.get(0)

    list.remove(0);

    usersRef.child(uid).addListenerForSingleValueEvent(new ValueEventListener() {

        @Override

        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            User user = dataSnapshot.getValue(User.class);


            getNextUser()

        }


        @Override

        public void onCancelled(@NonNull DatabaseError databaseError) { throw databaseError.toException(); }

    });

  }

}

然后開始:


getNextUser();


查看完整回答
反對 回復 2022-01-19
  • 1 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號