无法执行kotlin协程(没有此类方法异常

无法执行kotlin协程(没有此类方法异常,kotlin,kotlinx.coroutines,Kotlin,Kotlinx.coroutines,我从kotlin示例中获取了以下简单代码片段: fun main(args: Array<String>) = runBlocking<Unit> { withTimeout(1300L) { repeat(1000) { i -> println("I'm sleeping $i ...") delay(500L) } } } 我使用kotlinVersion='1.

我从kotlin示例中获取了以下简单代码片段:

fun main(args: Array<String>) = runBlocking<Unit> {
    withTimeout(1300L) {
        repeat(1000) { i ->
            println("I'm sleeping $i ...")
            delay(500L)
        }
    }
}
我使用kotlinVersion='1.1.51'


有什么建议吗?

在您的情况下,请确保在build.gradle文件中启用协同路由:

kotlin {
    experimental {
        coroutines "enable"
    }
}
您还应该触发与launch(UI)的协同程序,显式调用wait()和挂起的方法。其余代码将在UI线程上执行


希望它解决了您的问题!

嘿,谢谢您的回答,我的gradle conf包含了提到的声明(使用实验性的协同程序)。关于启动,我认为withTimeout直接替代了launch(有额外的执行时间).BTW,没有UI代码,我只有一个kotlin脚本文件和一个方法。这是否意味着kotlin示例不完整,需要一些额外的代码?编辑:还有一件事,事实上,当我从withTimeout切换到启动它时,我对超时功能更感兴趣。当然,我会,但你的回答没有帮助o解决我的问题。您是否使用一个版本的库编译,并使用另一个版本运行?这是一个编译器错误。请向@RomanElizarov nope提交一个问题,显然这不是编译器错误15.0.3缺陷,当我使用gradle test测试代码时,它会按照预期失败,并出现TimeoutCancellationException,否则(在IntelliJ中)我得到了NSM异常。
kotlin {
    experimental {
        coroutines "enable"
    }
}