切换线程
- 发送事件可以在任何线程
- 接收事件可以在任何线程, 但成功回调默认在主线程
我们可以通过协程的一系列函数切换其内部线程(在协程中被称为调度器)
receiveEvent<String> {
// 当前处于主线程
tv_event.text = it
launch(Dispatchers.IO) {
// 执行一个异步任务
}
}
具备返回值回调的切换
receiveEvent<String> {
// 当前处于主线程
tv_event.text = withContext(Dispatchers.IO){
// 切换到IO线程然后返回一个结果["吴彦祖"]到主线程
"吴彦祖"
}
}