例如:
Observable.fromCallable<Int> {
backgroundTask() // returns an integer
}
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe ({ number -> /* success */ }, { error -> /* fail */ })
通常 在后台(另一个线程)执行任务并在主线程中获取它的结果。
此代码 fragment 将如何使用 Kotlin 协程?
最佳答案
您可以使用 withContext()
切换线程。例如,
launch(Dispatchers.MAIN) {
//main thread here
val result = withContext(Dispatchers.IO) {
//IO thread here
backgroundTask()
}
//main thread here again
//doing something with result
}
关于android - Kotlin 协程中 observeOn 和 subscribeOn 的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54861493/