Por que as coroutines em Kotlin são melhores que RxKotlin para tarefas assíncronas?
Olá a todos! Recentemente comecei a estudar Kotlin para desenvolvimento Android e me deparei com uma escolha: usar coroutines ou RxKotlin. Há muitos debates na internet e fiquei confuso.
Escrevi um pequeno exemplo em RxKotlin que carrega dados da rede e atualiza a UI:
```kotlin
fun loadUserData() {
Observable.fromCallable { api.getUser() }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ user -> textView.text = user.name },
{ error -> Log.e("TAG", "Error: ${error.message}") }
)
}
```
Isso funciona, mas o código parece muito verboso. Disseram-me que coroutines são mais simples e leves. Tentei escrever o mesmo com coroutines:
```kotlin
fun loadUserData() {
CoroutineScope(Dispatchers.Main).launch {
val user = withContext(Dispatchers.IO) { api.getUser() }
textView.text = user.name
}
}
```
De fato, há menos código, mas não entendo: quais são as reais vantagens
No answers yet.
Faça login para deixar uma resposta
Blogs