如何检测变量的变化?

时间:2017-01-27 07:57:20

标签: rxjs rxjs5

我在全局范围内有一个变量,我需要定期检查更改。这就是我在简单JS中的表现:

    let currentValue, oldValue;

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

如何使用Observables完成?

1 个答案:

答案 0 :(得分:6)

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

或者您可以选择提供比较器功能:

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