根据条件RXJS

时间:2017-11-14 01:59:22

标签: merge rxjs reactive-programming angular2-observables

我的代码中有以下间隔,我想运行一些逻辑,但是在知道是否可以处理开发的逻辑之前我需要做一些查询:

This is my observable:
const interval$ = Observable.interval(120000).startWith(0);

我需要映射到这个observable,只有当服务调用的返回不等于1时才让它处理:

documentRepository.getProcedureLock().then(data => {
                if (data !== null && data !=== '1') {

我尝试了许多事情但没有成功......处理我的间隔的逻辑是.mergeMap而我没有足够的经验...你们可以帮帮忙吗?

1 个答案:

答案 0 :(得分:0)

看看那是你在找什么

Rx.Observable.fromPromise(documentRepository.getProcedureLock()).flatMap(data 
=> {
            if (data !== null && data !=== '1') return interval$
// i assume you want data if condition not met
return Rx.Observable.of(data)
}).subscribe(console.log)