Kotlin 协程中 observeOn 和 subscribeOn 的等价物
Equivalent of observeOn and subscribeOn in Kotlin coroutines
例如:
Observable.fromCallable<Int> {
backgroundTask() // returns an integer
}
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe ({ number -> /* success */ }, { error -> /* fail */ })
通常在后台(另一个线程)执行任务并在主线程中获取结果。
此代码片段将如何使用 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
}
例如:
Observable.fromCallable<Int> {
backgroundTask() // returns an integer
}
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe ({ number -> /* success */ }, { error -> /* fail */ })
通常在后台(另一个线程)执行任务并在主线程中获取结果。
此代码片段将如何使用 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
}