与lettable运算符

时间:2018-01-09 21:33:52

标签: typescript rxjs

我有一系列项目,我将映射到我需要使用merge组合的可观察项目。我试图使用lettable运算符来做这件事。例如:

// obs is an array of observables
from(obs).pipe(merge());

但是如果我订阅了它,它只会立即发出一个observable数组,而不是发出合并的可观察值。

我试过了:

from(obs).pipe(mergeMap(ob => ob));

这实际上按预期工作,但我希望.merge能做同样的事情。有没有办法可以使用merge展平观察点?

1 个答案:

答案 0 :(得分:1)

我想要使用的运营商是mergeAll而不是merge

from(obs).pipe(mergeAll());

.merge运算符接受可观察量的发射,并将可观察参数的发射链接到它。在我原来的问题中,根本没有进行任何转换,这相当于from(obs)

如果您有两个Observable(或继续链接它们),您也可以obs[0].pipe(merge(obs[1]))mergeAll允许您为任意数量的输入可观察量执行此操作。静态merge运算符也可以使用任意数量的输入可观察量。