У меня есть один, который я не могу понять
В основном у меня есть поток полиморфных событий, и я хочу подписать наблюдаемое "while" в данном состоянии, то есть предыдущий emit был событием того же типа, затем сохранитьподписка и просто прокси для события
Events = (A|B)
stream: A1 A2 B1 B2 B3 A3 A4 A5 B4 B5 B6
^------^ ^------^
subscribed subscribed
проблема в том, как прикрепить наблюдаемое без его повторной подписки, то есть
events.switchMap {
if(it is B) {
somethingIWant()
} else {
Observable.empty()
}
}
, что, очевидно, будет продолжать повторную подписку чего-либо в случае B1, B2, ...
Мне нужно, чтобы он оставался подписанным во время Bs, и если придет что-то еще, кроме B, отмена подписки
events.ofType(B)
также не будет работать, потому что это не откажется от подписки вниз по течению, если A приходит в основном, я хочуусловная карта переключения, с возможностью отправки через уже подписанный поток, что не вполне возможно