我有一个函数:
fun login(..., cb:Callback){ // this function is invoked from non-coroutine world
// 1) current Thread "workThread"
scope.launch { // I have tried all Dispathers to create the scope, but cannot achieve what i want
// 2) i want current Thread still "workThread"
withContext(Dispatchers.IO){
// do something
}
// 3) i want resume executing on "workThread"
cb.callback(...)
}
}
我所尝试的和我想要的都在评论中详细记录了。那么我怎样才能做到呢?先谢谢你了。
1条答案
按热度按时间vd2z7a6w1#
要在当前线程上启动协程,请使用runBlocking函数: