在rxjs5 doc中,它提到“为了减少多态性并从运算符中获得更好的性能,一些运算符被分成多个运算符”。它实际意味着什么以及如何使用mergeMapTo运算符?
答案 0 :(得分:3)
来自docs,mergeMapTo:
它与
mergeMap
类似,但将每个值始终映射到相同的内部Observable。
我将mergeMapTo
视为始终输出相同值的快捷方式。 mergeMapTo
并不关心源值。
同样来自docs:
将每个源值映射到给定的Observable innerObservable 无论源值如何,然后合并那些结果 可观察到一个单一的Observable,即输出 观察到。
您会看到mergeMap
需要function
而mergeMapTo
需要value
:
mergeMap
示例(我们正在转换值):
Rx.Observable.of(1, 2, 3).mergeMap(x =>
Rx.Observable.interval(1000).map(i => x+i)
);
使用mergeMapTo时,我们可以从流中获取值并始终输出相同的值(也可以转换,但总是输出相同的值):
Rx.Observable.of(1, 2, 3).mergeMapTo(10);