【发布时间】:2015-08-27 22:31:47
【问题描述】:
RxJS 的 flatMapLatest 扁平化了最新的(只有一个)嵌套的 Observable。我有一个用例,我不想要 flatMap(将过去所有嵌套的 Observables 展平),并且我不想要 flatMapWithConcurrency(因为它有利于旧的 Observables,而不是最新的 Observables),所以我想要的是 flatMapLatestTwo 或某些版本的 flatMapLatest,您可以在其中指定并发嵌套 Observable 的最大数量,例如flatMapLatest(2, selectorFn).
这是我想要的输出(_X 指的是嵌套的 Observable X 和 eX 指的是它的第 X 个 onNext 事件):
_0e0
_0e1
_1e0
_0e2
_1e1
_2e0
_1e2
_2e1
_3e0
_2e2
_3e1
_4e0
_3e2
_4e1
_3e3
_4e2
_4e3
这是 flatMapLatest 产生的:
_0e0
_0e1
_1e0
_1e1
_2e0
_2e1
_3e0
_3e1
_4e0
_4e1
_4e2
_4e3
我更喜欢使用现有运算符的解决方案,而不是实现这个低级。
【问题讨论】:
-
我试过
map到 Observable(这给了我一个 Observable-of-Observables),然后是 bufferWithCount(2,1),然后是 flatMapLatest,但我得到了一些奇怪的重复和遗漏.
标签: javascript rxjs