Junior — Middle
Que tipo de fluxo de dados é utilizado por padrão no Flow?
sobes.tech IA
Resposta da IA
Por padrão, no Kotlin Flow é utilizado um tipo de fluxo de dados chamado Cold Stream (flux frio). Isso significa que os dados começam a ser gerados e transmitidos apenas quando alguém começa a assinar esse fluxo. Enquanto não houver assinantes, nenhuma computação ou emissão de valores ocorre.
Exemplo:
val flow = flow {
println("Flow started")
emit(1)
emit(2)
}
fun main() = runBlocking {
println("Before collect")
flow.collect { value -> println(value) }
println("After collect")
}
Neste exemplo, a mensagem "Flow started" aparecerá apenas quando collect for chamado, ou seja, quando alguém assinar o fluxo.