用 RxJava
fetchUser()
.subscribeOn(Schedulers.io())
.observerOn(AndroidSchedulers.mainThread())
.subscribe { user ->
showUser(user)
}
fun fetchUser(): Single<User> {
// make network call
// emit user
}
fun showUser(user: User) {
// show user
}
用协程
fun fetchAndShowUser() {
GlobalScope.launch(Dispatchers.Main) {
val user = fetchUser() // fetch on IO thread
showUser(user) // back on UI thread
}
}
suspend fun fetchUser(): User {
return withContext(Dispatchers.IO) {
// make network call on IO thread
// return user
}
}
fun showUser(user: User) {
// show user
}











网友评论