我有問題。有沒有像RxJava中的Promise.all()方法?
我需要通過項目id的列表來獲取一些項目的列表。 起初,我試圖
Observable.from(itemIds)
.flatMap(itemId -> requestToServer(itemId))
.subscribe(item -> { /* do something */ });
但運營商flatMap
並不能保證項目的順序。 我需要得到的項目爲ItemIds
。
如果有像Promise.all()
這樣的api,那將會很棒。 RxJava中有沒有類似Promise.all()
的方法?或者其他方式?
是的,但是'concatMap'處理請求一個一個。 我想要做的是所有的請求都是併發的,但是所有的響應都是按順序的。作爲'Promise.all()'做。 – chooblarin
也許這篇文章會有幫助嗎?雖然沒有嘗試過這個技巧,但是''concatMap',所以不確定:http://tomstechnicalblog.blogspot.com/2015/11/rxjava-achieving-parallelization.html –
我找到'concatMapEager'運算符。也許,這是我需要的。謝謝! – chooblarin