gpt4 book ai didi

kotlin-coroutines - iOS 上的 KMM : There is no event loop. 使用 runBlocking { ... } 启动一个

转载 作者:行者123 更新时间:2023-12-04 11:54:55 27 4
gpt4 key购买 nike

我正在尝试使用 coroutinesKotlin Multiplatform项目。我也没有经验。
我正在尝试调用此函数

fun startFlow {
coroutineScope.launch {
withContext(defaultDispatcher) {
myFlow.collect { next -> onNext(next) }
}
}
}
coroutineScopeiOS这是
val defaultScope: CoroutineScope = object : CoroutineScope {
override val coroutineContext: CoroutineContext
get() = SupervisorJob() + Dispatchers.Default
}
这不是给我这个问题的唯一电话,实际上所有电话都是 coroutines似乎因此错误而失败:
kotlin.IllegalStateException: There is no event loop. Use runBlocking { ... } to start one.
这就是我导入库的方式
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3")
}
}
我正在使用 Kotlin 1.4.31.此问题仅存在于 iOS , Android完美无缺。
我不明白我是否遗漏了什么。

最佳答案

对于 iOS,您需要使用后缀为“native-mt”的协程,更多信息 here
所以用

implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3-native-mt")
附言在 kotlin 1.6.0 原生并发模型中 should be改成这样 native-mt发布后将不再需要后缀

关于kotlin-coroutines - iOS 上的 KMM : There is no event loop. 使用 runBlocking { ... } 启动一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66917563/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com