我尝试使用Firebase下载数据。问题是我根据时间戳下载数据。如果他们只是我var playerName = prompt('Name your character');
var player = {
Name: playerName,
Health: 40,
HealsLeft: 2,
Wins: 0,
attackDamage: function(num) {
return Math.floor(Math.random() * 2) + 1;
},
healsRandom: function(num) {
return Math.floor(Math.random() * 9) + 1;
}
};
console.log(player.healsRandom());
中填充的一个项目,我希望从Firebase获得接下来两小时的数据,如果过去两小时内没有任何数据,我希望得到接下来的两个小时的数据,依此类推,直到我得到一些额外的数据。问题是我并不确切知道如何确定Firebase是否实际下载了数据。因为如果下载了数据,我可以使用ListView
来OnScrollListener
下载更多数据,因为在此之后它可以滚动。任何帮助将不胜感激。
答案 0 :(得分:0)
您无法知道何时从Firebase is a real-time database
获取数据库中的数据并且数据可能永远无法完成。这就是为什么将其命名为实时数据库,因为在任何momemnt中都可以更改数据库,可以添加或删除项目。
部分知道您是否拥有特定位置的所有数据的唯一方法是对其执行单个“值”类型查询。即使这样,在调用该侦听器之后数据也可能会发生变化,因此您在特定时刻所拥有的只是snapshot
。
只有当您在数据库中编写或更新数据时才能使用CompletionListener
,并且当您的操作得到确认时,您会收到通知Firebase服务器,但在读取数据时无法使用此界面。