[英]RXJS chain observables completing at any point
有什么方法可以链接多个可观察对象,但可以随时完成链接? 我有三个Observable,它们都返回布尔值。 但是,如果当前可观察的值是false,我只想前进到链中的下一个可观察的值。 可观察值必须在最后一个值完成时进行,并且完成值为false。 这可能吗?
您可以设置一个可观察对象来控制流程并在完成后完成它。 还可以使用zip运算符-如果可观察到的一个(在我们的示例中为控件一个)完成,它将完成整个流程。
let control$ = new Rx.Subject();
let data$ = Rx.Observable.interval()
.map(x => x<10?true:false)
.do(flag => {
if(flag) control$.next(true);
else control$.complete();
});
Rx.Observable.zip(data$.filter(x=>x), control$.startWith(true), (x,y)=>x)
.subscribe(x=>console.log(x))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.