我有一个小问题,管理firebase的下载数据到我的离子应用程序。如何管理下载数据在离子2
例如:在正常情况下[如下面的代码],下载数据是正常的[如此图像]
constructor(...){
this.questionsList = this.afd.list('/questions/');
}
但是,如果我使用的“的setInterval” [例如如以下代码]的数据增加,下载[如此图像]
constructor(...){
this.questionsList = this.afd.list('/questions/');
this.favoritesList = this.afd.list('/favorites/',{
query:{
orderByChild:'user_id',
equalTo: userService.id,
}
})
this.joinObjects();
this.refreshIntervalId=setInterval(()=>{
this.joinObjects();
},250);
}
joinObjects(){
let TempListX=[];
this.favoritesList.take(1).subscribe(data1=>{
this.questionsList.take(1).subscribe(data2=>{
TempListX = data1.slice(0);
for(let i=0; i<data1.length; i++){
for(let j=0; j<data2.length; j++){
if(data1[i].question_id==data2[j].$key){
TempListX[i].qTitle=data2[j].title;
}
}
}
if (JSON.stringify(TempListX)===JSON.stringify(this.TempFavoritesList)) {
}else{
this.TempFavoritesList=TempListX.slice();
}
})
})
}
那么有什么办法可以使下载数据如正常情况下那样?
只是为了确定:你问为什么有更高的网络活动,如果你从Firebase每250ms获取一些东西与你获取一次的比较?! – David
是的..我不喜欢不知道为什么当我使用“订阅”来创建一个新的阵列时,网络的使用增加了。但我不知道如何解决这个问题 –
因为通过订阅firebase ob每当你打电话给你的方法时,你都可以获取数据。 – David