У вас не успевает обработаться реакция, вы закрываете все задачи до того, как оно отработает. Поставьте delay перед cancell
Хм, а есть способ сделать подобное без delay? Вне теста такой код в итоге выводит то что надо, но выводит также и промежуточные состояния.
Вам надо каким-то образом сделать закрытие коллектора. Если вы сделаете его изнутри, то вы можете вместо cancel сделать просто job.join()
думал, что если заменить collect на collectLatest, то будет как раз такое поведение. Но это тоже не помогло (хотя в доке как раз говорится, что в случае нового emit() будет отменен collect() для предыдущей корутины)
Коллектор бексонечный. Вам надо его как-то закрыть
Обсуждают сегодня