javascript – rxjs可观察的变化间隔

前端之家收集整理的这篇文章主要介绍了javascript – rxjs可观察的变化间隔前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个观察者,应该每隔X秒完成一次动作. X的值动态变化.我一直无法绕过如何在运行时动态更改此间隔.根据我的理解,我的想法中的一个重大突破是Observables一旦被定义就无法改变,所以尝试用新的区间值重新定义Observalbe似乎不是正确的方法.

我一直在尝试使用位于https://www.learnrxjs.io/operators/transformation/switchmap.html代码

到目前为止,我认为switchMap至少在正确的轨道上.有人能够提供一个例子或指向我可能对我有用的资源吗?

至少,世界肯定需要更多的RxJs例子!

解决方法

您可以使用Subject以及switchMap和interval来动态控制周期.每当主题发出一个值时,该值可用于指定间隔的周期:
const t = Date.now();

let subject = new Rx.Subject();
subject
  .switchMap(period => Rx.Observable.interval(period))
  .do(() => console.log('some action at time T+' + (Date.now() - t)))
  .take(8)
  .subscribe();

subject.next(50);
setTimeout(() => subject.next(100),200);
setTimeout(() => subject.next(200),400);
<script src="https://unpkg.com/rxjs@5/bundles/Rx.min.js"></script>
原文链接:https://www.f2er.com/js/156106.html

猜你在找的JavaScript相关文章