配列に似ていflatten([1, 2 [3, 4], [5, 6]]) === [1, 2, 3, 4, 5, 6]
ます。
rxjs オブザーバブルでこれを実行したいと思います。
const test$ = Rx.Observable.from(
[1, 2, Rx.Observable.from([3, 4]), 5, Rx.Observable.from([6, 7])]
).mergeAll()
test$.subscribe(x => console.log(x)) //I want to output 1, 2, 3, 4, 5, 6, 7
mergeAll は機能せず、エラーがスローされます。
これは非常に汚い解決策です:
const inElegant$ = Rx.Observable.merge(
test$.filter(x => x instanceof Rx.Observable).mergeAll(),
test$.filter(x => !(x instanceof Rx.Observable))
)
inElegant$.subscribe(x => console.log(x));
これに対するより良い解決策はありますか?