【发布时间】:2021-07-17 17:22:39
【问题描述】:
我使用 kotlin multiplatform,它禁止在公共代码中使用 runBlocking,因为 JS 实现不支持它。
我的目标是能够从我的非挂起函数中调用挂起函数,如下例所示。我也不关心 JS,因为我只会使用 JVM、Android、iOS 目标
fun main() {
runBlocking {
doSomething()
}
}
suspend fun doSomething() {
}
我可以考虑的一个解决方案是创建预期和实际类,并在每个平台实际类上分别调用 runBlocking,但我想避免这种情况,因为它会导致一些代码重复。
runBlocking {
doSomething()
}
有没有更好的解决方案如何在公共模块中将阻塞和非阻塞代码桥接在一起?
【问题讨论】:
标签: kotlin kotlin-coroutines kotlin-multiplatform