Сценарий A:
Код: Выделить всё
val dataFlow: Flow = emptyFlow()
launch {
val data = dataFlow.firstOrNull() // returns data = null
}
Код: Выделить всё
val rootFlow: MutableStateFlow = MutableStateFlow(null)
val dataFlow: Flow = rootFlow.flatMapLatest {
emptyFlow()
}
launch {
val data = dataFlow.firstOrNull() // blocks and does not return any value
}
Я вижу, что FlatMapLatest вызывается с начальным нулевым значением< /code> значение потока изменяемого состояния.
Подробнее здесь: https://stackoverflow.com/questions/791 ... empty-flow
Мобильная версия