我有一個小問題,管理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