2017-01-27 30 views
5

Küresel çapta, değişimler için düzenli aralıklarla kontrol etmem gereken bir değişkenim var. o Observables kullanarak nasılBir değişkendeki değişiklik nasıl tespit edilir?

let currentValue, oldValue; 

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

yapılır: Bu Basit JS yapacağını nasıl?

cevap

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

Yoksa isteğe bağlı olarak bir karşılaştırıcı-işlevi verebilir:

Observable.interval(1000) 
    .map(() => currentValue) 
    .distinctUntilChanged((oldValue, newValue) => <return true if equal>); 
İlgili konular