addChildEventListener(Firebase)中的数组问题

addChildEventListener(Firebase)中的数组问题,第1张

addChildEventListener(Firebase)中的数组问题

FirebaseAPI是

asynchronous
,表示这些方法中的每个方法
onChildAdded()
onChildChanged()
等等,在调用后立即返回,并且它返回的Task的回调将在一段时间后调用。无法保证需要多长时间。因此,可能需要几百毫秒到几秒钟的时间才能获得该数据。因为该方法立即返回,所以
scores
尚未从回调中填充该数组,这就是为什么为空的原因。

基本上,您尝试从异步的API同步使用值。那不是一个好主意。您应该按预期异步处理API。

快速解决此问题的方法是移动以下代码行:

for (int i = 0; i < 10; ++i) {    scores[i] = i;}int i = scores[3];

onChildAdded()
方法内部,数据可用的位置。

如果您需要循环的

score
数组回调外,我建议你看我anwser从这个最后的部分
,其中我已经解释了如何可以使用自定义的回调来完成。您也可以观看此
视频 ,以更好地理解。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5141795.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存