2017-10-07 1 views
0

私は私の質問、可能な場合はよく分からないけど一時アレイの更新をIonic2でリアルタイムに行うことは可能ですか?

は、例えば、私はこのような私の一時のArrayListを更新する「のsetInterval」使用リアルタイムで更新のArrayListを作るためにどのような方法がある場合、私は聞いていますのよ:

public usersList: FirebaseListObservable <any[]> ; 
public chatsList: FirebaseListObservable <any[]> ; 
public tempList = []; 

public refreshIntervalId; 

constructor(...) { 
    this.usersList = this.afd.list('/users/'); 
    this.chatsList = this.afd.list('/chats/'); 
    this.refreshIntervalId = setInterval(() => { 
     this.joinObjects(); 
    }, 250); 
} 

joinObjects() { 
    let TempListX = []; 
    this.chatsList.take(1).subscribe(data1 => { 
     this.usersList.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].user_id == data2[j].$key) { 
         TempListX[i].fname = data2[j].fname; 
         TempListX[i].lname = data2[j].lname; 
         TempListX[i].uemail = data2[j].email; 
         TempListX[i].uid = data2[j].$key; 
        } 
       } 
      } 
      if (JSON.stringify(TempListX) === JSON.stringify(this.tempList)) {} 
      else { 
       this.tempList = TempListX.slice(); 
      } 
     }) 
    }) 
} 

「setInterval」よりも優れた方法はありますか?

答えて

関連する問題