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)