.flatMapLatest( nextChannel1.asFlow() )
.flatMapLatest( nextChannel2.asFlow() )
.flatMapLatest(...)
.collect { ... }
В parentChannel приходит значение, мы по цепочке ждем данные из nextChannel1/2 и вызывается collect
Ожидаемо если в nextChannel1/2 придут новые данные у нас отработает collect
И вот когда в parentChannel придет новое значение, я ожидаю что мы отпишемся от всех flatMapLatest и начнем ждать данные ТОЛЬКО из nextChannel1
Но у меня получается так, что от nextChannel2 отписка не происходит! Это нормальное поведение или я что-то делаю не так?
Есть у кого-нибудь идеи?
У меня есть такое ощущение, что вы совершенно не по назначению используете Flow. Для этого есть регулярные корутины и селекторы. Вы пытаетесь RX код переписать?
Обсуждают сегодня