Sobes.tech
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.