为什么$ firebaseArray显示速度慢?

问题描述:

让我先说我是firebase的新手。正如我已经与angularfire了一点玩,我注意到,$ firebaseArray是在我的项目有点慢......

但是,当我使用控制台找到当收到从火力的结果,我意识到,有一秒钟之前,结果在离子视图中显示出来之后。

如果我在说什么是真不明白,这里是一个codepen与$ firebaseArray

var lists = $firebaseArray(ref.child('lists')); 

这里是其他[codepen](抱歉不能添加两个以上的链路),其中我加入这行

lists = [{"name":"test"}];

后有一个警报和控制台登录都codepen显示当数据到达。

我在问的是:为什么有第二个延迟之后数据已经到了?

编辑:

因为“慢”并不真正意味着什么,我把我的浏览器的网络截图的第一codepen,显示有多少时间需要显示的数据: screenshot

+1

“慢”是非常主观的。你测量什么行动?多久时间?你预计它会花多长时间?另外请注意,虽然您添加了一个链接到codepen是很好的,但您的问题应该包含重现问题的最小代码。 –

+0

我的意思是“慢”,因为数据已经从火力_already arrived_(在我codepen它是可用时,警报大作),再有就是其显示之前一段时间(大约需要1或2秒要显示它。我认为这是一个_lot_,因为数据已经到达,所需要做的只是显示它,但它仍然需要几秒钟才能完成。所以我试着用一个本地的JSON数组来做这件事,这次在数据可用(相同的警报)之后,它立即显示出来...... –

+0

它在0..0001毫秒的时间内对我显示速度很快......它可能与您的计算机有关。我不能说任何关于.. – amanuel2

即使我没有真正寻找它时,我发现这个线程,被赋予了回答我的问题在这里:

Asynchronous access to an array in Firebase

由当时的浏览器执行你的console.log(userTokens);最有可能的数据尚未加载。所以它只是将对象 作为占位符打印到控制台。

通过它到达for循环的时间,数据可能或可能尚未 从火力地堡加载。

在某些时候,你点击旁边记录userTokens的箭头。当时数据已从Firebase加载并且控制台显示 最新数据。

所以无论如何,感谢你的帮助,试图回答我的问题:)