2017-10-07 6 views
0

내 질문은 가능한지 확실하지 않지만 arraylist를 실시간으로 업데이트하는 방법이 있는지 묻는 중입니다.Ionic2에서 임시 배열 업데이트를 실시간으로 수행 할 수 있습니까?

예를 들어, "setInterval"을 사용하여이 같은 임시 아라 일리 스트를 업데이트했습니다 :

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"보다 나은 점이 있습니까?

답변