Rxjava2 如何让 flatMap 按调用顺序发射项目?

Rxjava2 how to have flatMap emitting items in called order?

想象有 Observable A 发射

a1, a2, a3, a4...

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

fa3, fa1, fa2, fa4...

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

fa1, fa2, fa3, fa4...

ConcatMap可以return我想要的结果,但是它是按顺序处理流的,耗时效率不高。 我需要像 concatMap 这样具有并行处理能力的东西。任何解决方案?谢谢。

您可以使用 concatMapEager,它会缓冲排放并按顺序生产物品。