假设我们有以下暂停功能:
suspend fun doSomething(): List<MyClass> { ... }
如果我想在我现有的一个 Java 类中调用此函数(我现在无法将其转换为 Kotlin)并获取其返回值,我必须提供一个 Continuation<? super List<MyClass>>
作为其参数(显然).
我的问题是,我怎样才能实施一个。特别是它的 getContext
吸气剂。
原文由 mrtaikandi 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,将
org.jetbrains.kotlinx:kotlinx-coroutines-jdk8
模块添加到您的依赖项中。在您的 Kotlin 文件中定义以下异步函数,该函数对应于编写异步 API 的 Java 风格:现在使用
doSomethingAsync
来自 Java 的方式与您在 Java 世界中使用其他异步 API 的方式相同。