2017-08-10 63 views
0

我有使用情況下,我必須進行N個網絡調用,我想按照執行它們的順序接收數據。什麼是最好的方式來做到這一點。使網絡呼叫並行,沒有使用rxjava交錯

我試過使用concat操作符,但它是低效的,因爲它是順序的,並且合併操作符的結果順序是未定義的。

+1

使用Zip,您可以等待所有網絡電話完成。每個發射可能是一個有序的ArrayList。或者你可以合併,然後將所有的發射再次收集到有序的ArrayList中。之後flatMapIterable ... – masp

回答

1

您可以使用concat concatMapEager()的過載,這將爲您帶來像flatMap這樣的並行性,同時保持排放源排序。

+0

謝謝@yosriz。正是我在找什麼:) – Sravan