Rxjs 如何暂停观察?
我正在开发我的第一款Angular 2产品。我创建了这个Rxjs 如何暂停观察?,rxjs,observable,Rxjs,Observable,我正在开发我的第一款Angular 2产品。我创建了这个Observable.timer,然后订阅了它。它轮询服务器以获取数据 如何暂停并取消暂停 ngOnInit(): void { this.poll = Observable.timer(500,500).subscribe((t: any) => { this.request.getRackList(+this.global.zoneId).subscribe( incoming =>
Observable.timer
,然后订阅了它。它轮询服务器以获取数据
如何暂停并取消暂停
ngOnInit(): void {
this.poll = Observable.timer(500,500).subscribe((t: any) => {
this.request.getRackList(+this.global.zoneId).subscribe(
incoming => this.import(incoming),
err => { this.global.err(err) }
);
})
this.canOpenClose = (this.global.mode === 2);
}
有多种方法可以暂停一个可观察对象。你可以:
- 需要时取消订阅/重新订阅
暂停时清除排放.filter()
- 创建一个可暂停/启动对所有订阅服务器的发射
switchMap
操作符停止计时器发射/重新启动它们,并使用pauser subject发出一个布尔值,指示您是要暂停还是重新启动。
如果您不需要最新的值,您可以将
publishReplay
替换为publish
我真的很喜欢这篇演讲,这里介绍了一个获取知识的好地方或替代方法