【问题标题】:Rxjava2 how to have flatMap emitting items in called order?Rxjava2如何让flatMap按调用顺序发射项目?
【发布时间】:2019-12-02 19:20:51
【问题描述】:

想象有一个 Observable A 发射

a1, a2, a3, a4...

A.flatMap(a -> f(a)) 会以不可预知的顺序发出项目,例如:

fa3, fa1, fa2, fa4...

我怎样才能得到如下顺序的结果?

fa1, fa2, fa3, fa4...

ConcatMap可以返回我想要的结果,但是它是按顺序处理流的,在耗时方面效果不佳。 我需要像 concatMap 这样具有并行处理能力的东西。有什么解决办法吗?谢谢。

【问题讨论】:

  • concatMapEager
  • @zella 肯定我在寻找什么。您可以将其发布为答案吗?

标签: parallel-processing rx-java2 flatmap concatmap


【解决方案1】:

您可以使用concatMapEager,它会缓冲发射并按顺序生成项目。

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    相关资源
    最近更新 更多