switchMap. Есть простой код: https://pl.kotl.in/I31kQMPeS
Я ожидаю, что он 2 раза напечатает мне строку "collect after delay $it", на деле печается только одна, последняя. Это вообще нормально что flow игнорирует delay?
Никто не подскажет? Упрощу пример: val dataF: Flow<String> dataF.collect { println("collect $it") delay(1000) println("collect after delay $it") } Вот как так может быть, что до задержки строка вызывается 2 раза, а после строки один раз. Я знаю единственный случай - когда Flow отменится, но тогда collect ведь должен бросить CancellationException, а ничего такого не происходит. Лично я вообще не ожидаю от корутины такого поведения.
Обсуждают сегодня