sel*_*c82 20 javascript observable rxjs rxjs5
我有一个特定的情况,我正在使用RxJS间隔,但在任何给定的时刻,我可能需要停止该间隔.我假设有一些像cancel()或stop()这样容易的东西.与clearTimeout类似.这可以在一段时间后停止一段时间吗?如果没有,那将是另一种方法.
基本上我有一个大型阵列,我正在逐步完成.但是有些外部事情可能会发生,因此必须停止这一步并继续执行新任务.我希望这些东西很简单,我只是在文档中遗漏了.谢谢
Nic*_*wer 26
这可以在一段时间后停止一段时间吗?
.takeUntil当其他一些可观察的发射时,您可以使用运算符来完成一个observable.您当然需要将其他可观察对象设置为以对您有用的方式发出值,但这是一个在5秒后停止间隔的示例:
Rx.Observable.interval(100)
.takeUntil(Rx.Observable.timer(5000))
.subscribe(val => console.log(val));Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.5.2/Rx.min.js"></script>Run Code Online (Sandbox Code Playgroud)
mar*_*tin 15
只需取消订阅:
import { interval } from 'rxjs';
const subscription = interval(1000)
.pipe(...)
.subscribe();
...
subscription.unsubscribe();
Run Code Online (Sandbox Code Playgroud)
请注意,您也可以interval()在unsubscribe()回调内部调用.
| 归档时间: |
|
| 查看次数: |
11522 次 |
| 最近记录: |