Как добиться упорядоченного Observable.merge () - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть наблюдаемые, которые не завершают

val firstObservable = ....
val secondObservable = ...

Я пытаюсь достичь какого-то упорядоченного слияния этих двух наблюдаемых, я попытался

Observable.merge(firstObservable, secondObservable) 

но это, очевидно, не гарантирует порядок сохранения предметов.Сначала мне показалось, что это сработало:

Observable.concatArrayEager(firstObservable, secondObservable)

, но, поскольку мои наблюдаемые не завершают, второйОб наблюдаемый никогда не получает возможности испускать предметы.Я также пытался

Observable.concatArrayEager(firstObservable.take(1), secondObservable.take(2))

, но проблема этого подхода заключается в том, что все остальные выбросы игнорируются.Кто-нибудь знает, как справиться с такой ситуацией?Я хотел бы продолжать получать предметы из моего наблюдаемого, но также сохранять порядок.

Observable.concatArrayEager(firstObservable, secondObservable)

показался мне хорошим направлением, потому что раньше он запускал мои наблюдаемые параллельно, и производительность также важна для меня, но я 'я не могу заставить его работать, а также постоянно наблюдать за наблюдаемыми объектами

Если у вас есть идеи, пожалуйста, дайте мне знать.Спасибо!

...