Flow эмитит 3 значения, которые нужно записать в MyState, однако с таким подходом в state попадает только последнее значение(3), что ожидаемо. Как переделать этот код, чтобы в first попало 1, в second 2 и в third, соответственно, 3?
data class MyState(
val first: Int = 0,
val second: Int = 0,
val third: Int = 0
)
fun producer(): Flow<Int> = flow {
for (i in 1..3) {
emit(i)
}
}
suspend fun main(){
val state = mutableStateOf(MyState())
coroutineScope {
producer().onEach {
state.value = MyState(
first = it,
second = it,
third = it
)
}.launchIn(this)
}
println(state)
}