我想实现无限滚动以在我的应用中加载更多数据。我想从最新到最旧的数据,从下到上获取数据,所以我使用了limiToLast()
我已按照Implementing Infinite Scrolling with Firebase?来实现此功能。
这是我的查询功能
var lastKey = '';
var myData = [];
async fetchData(){
try{
var snap = await firebase.database().ref(category).orderByKey().endAt(lastKey).limitToLast(5).once('value');
console.log(snap);
snap.forEach(childSnap => {
myData.push(childSnap.val();
lastKey = childSnap.key;
});
}catch(err){
//handle errors
}
}
但如果我控制它,那么snap
为空。
我究竟做错了什么?
我想从底部一次获取5个项目
如果我使用startAt()
和limitToFirst()
使用相同的代码一次获取5个项目,则可以正常工作:
var lastKey = '';
var myData = [];
async fetchData(){
try{
var snap = await firebase.database().ref(category).orderByKey().startAt(lastKey).limitToFirst(5).once('value');
snap.forEach(childSnap => {
myData.push(childSnap.val();
lastKey = childSnap.key;
});
}catch(err){
//handle errors
}
}