问题描述
在 rxjs5 文档中,它提到为了减少多态性并从运算符中获得更好的性能,一些运算符已被拆分为多个运算符".它实际上是什么意思以及如何使用 mergeMapTo 运算符?
In rxjs5 doc, it mentions 'To reduce polymorphism and get better performance out of operators, some operators have been split into more than one operator'. What does it actually mean and how to use the mergeMapTo operator?
推荐答案
来自 文档,mergeMapTo:
From the docs, mergeMapTo:
它就像 mergeMap
,但总是将每个值映射到同一个内部 Observable.
我将 mergeMapTo
视为始终输出相同值的快捷方式.mergeMapTo
不关心源值.
I see mergeMapTo
as a shortcut to always output the same value. mergeMapTo
doesn't care about the source value.
同样来自 文档:
将每个源值映射到给定的 Observable innerObservable无论源值如何,然后合并那些结果将 Observable 合并为一个 Observable,即输出可观察.
你会看到 mergeMap
接受一个 function
而 mergeMapTo
接受一个 value
:
You'll see that mergeMap
takes a function
while mergeMapTo
takes a value
:
mergeMap
的示例(我们正在转换值):
An example with mergeMap
(we're transforming values):
Rx.Observable.of(1, 2, 3).mergeMap(x =>
Rx.Observable.interval(1000).map(i => x+i)
);
使用mergeMapTo时,我们可以从流中获取值并始终输出相同的值(也进行转换,但始终为相同的值):
While using mergeMapTo we can take values from a stream and always output the same value (also transforming, but always to the same value):
Rx.Observable.of(1, 2, 3).mergeMapTo(10);
这篇关于mergeMap 和 mergeMapTo 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!