我有三个数据源:
let insightsFromDB$;// Return observable of insight object
let insightsFromAPI$;// Return observable of insight object
let insightsFromWebsockets; // Return observable of insight object
otherObservable$
.merge(insightsFromDB$, insightsFromAPI$) // Return observable of insight object
.map(insight=>insight.likes)
我想将insightsFromWebsockets$
添加到otherObservable$
中,使得如果它发出一个值,它将取消来自合并运算符的洞察力对象并发出来自{{1 }}转换为地图运算符。
答案 0 :(得分:2)
因此,如果我正确理解您的要求:
x
和z
(merge
)接收值z
使您不再对x
(takeUntil
)的值感兴趣示例实现:
var x = Rx.Observable.interval(300);
var y = Rx.Observable.timer(1500, 500).mapTo('y');
x.takeUntil(y)
.merge(y)
.take(8).subscribe(console.log)
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.5.12/Rx.js"></script>