2017-01-27 2 views
5

변경 사항을 주기적으로 확인해야하는 전역 범위의 변수가 있습니다. 이 Observables를 사용하는 방법을변수의 변경을 감지하는 방법은 무엇입니까?

let currentValue, oldValue; 

    setInterval(()=>{ 
     if(currentValue != oldValue){ 
      doSomething(); 
     } 
    }, 1000) 

을 수행 : 이것은 내가 간단한 JS에서 할 것 어떻게?

답변

6
Observable.interval(1000) 
    .map(() => currentValue) 
    .distinctUntilChanged(); 

또는 선택적으로 비교 기능 제공 할 수 있습니다 :

Observable.interval(1000) 
    .map(() => currentValue) 
    .distinctUntilChanged((oldValue, newValue) => <return true if equal>); 
관련 문제