首先我要说我是firebase的新手。由于我一直在使用angularfire,我注意到$ firebaseArray在我的项目中有点慢......
但是当我使用控制台找到 时收到来自firebase的结果时,我意识到在结果出现之前有一秒钟的结果显示在离子视图中。
如果我说的不是很清楚,这里有codepen和$ firebaseArray
var lists = $firebaseArray(ref.child('lists'));
这是另一个[codepen](抱歉无法添加两个以上的链接)我在之后添加了这行
lists = [{"name":"test"}];
两个代码集中都有一个警报和控制台日志,显示数据何时到达。
我要问的是:为什么在数据已经到达之后会有第二次延迟?
编辑:
因为'慢'并没有任何意义,我为第一个codepen截取了浏览器网络的屏幕截图,显示了显示数据所需的时间: screenshot
答案 0 :(得分:0)
即使我找到这个帖子时我还没找到它,我的问题的答案就在这里给出了:
Asynchronous access to an array in Firebase
当浏览器执行console.log(userTokens)时;数据很可能尚未加载。所以它只是打印对象 作为占位符控制台。
到达for循环时,数据可能有也可能没有 已从Firebase加载。
在某些时候,您单击了记录的userTokens旁边的箭头。通过 那时数据已从Firebase加载,控制台显示了 最新数据。
所以,无论如何,感谢您帮助我回答我的问题:)