如何将多个类型的Observable组合成一个

时间:2017-09-28 13:50:50

标签: javascript rxjs

我有一个像这样的Observable数组(Typescript):

let observables: Observable<string | string[]>[] = ...

如您所见,此数组中的observable可以(一次)发出单个字符串或字符串数​​组。每个observable都可以发出一次值(字符串或字符串数​​组)。

我希望得到这种类型的可观察结果:

let resultObservable: Observable<string> = observables.operator(...)

1。)何你这样做?我应该使用什么操作员? 2.)当我想要一个只发出一个值的结果observable时,我应该使用什么操作符,这是一个字符串数组:

let resultObservable: Observable<string[]> = observable.operator(...)

修改:我准备了一个plnkr来展示问题:https://next.plnkr.co/edit/GLwtqIhPiyH3ztaw

2 个答案:

答案 0 :(得分:0)

仅字符串值

arrayOrNot.flatMap(data=>data.isArray()?
Observable.from(data):Observable.of(data)).subscribe()

只有当您使用什么标准完成排放时才真正依赖的字符串数组

答案 1 :(得分:0)

也许有减少和地图?

example on plnkr.co