1
resposta

Duvida em Busca Usuário por ID

Pessoal boa noite! Eu estou em duvida, considerando o código abaixo:

    private fun buscaUsuario(usuarioId: String) {
        lifecycleScope.launch {
            usuarioDao.buscaPorId(usuarioId)
                .firstOrNull()?.let {
                launch {
                    buscaProdutosUsuario()
                }
            }
        }
    }

Queria entender porque que o instrutor preferiu deixar a função buscaPorId como Flow. Eu entendo que ele usou o first então o flow não fica verificando em tempo real. Mas nesse caso por que ele não deixou como uma busca normal que retornaria um usuário tipo:

val usuario : Usuario? = usuarioDao.buscaPorId(usuarioId)
1 resposta

Daniel de boa ?

Mano, ele poderia ter feito dessa maneira sem grandes problemas... o lance é que quando estamos mexendo com banco de dados, a execução pode travar a thread principal a idea de colocar no flow é para conseguir deixar a coroutine se virar com ele e tals.