在Java类中调用Kotlin暂停函数
假设我们具有以下暂停功能:
suspend fun doSomething(): List<MyClass> { ... }
如果要在我现有的Java类之一中调用此函数(暂时无法将其转换为Kotlin)并获取其返回值,则必须提供a Continuation<? super
List<MyClass>>作为其参数(很明显)。
我的问题是,我该如何实施。特别是它的getContext
吸气剂。
回答:
首先,将org.jetbrains.kotlinx:kotlinx-coroutines-
jdk8模块添加到您的依赖项中。在您的Kotlin文件中,定义以下与Java编写异步API样式相对应的异步函数:
fun doSomethingAsync(): CompletableFuture<List<MyClass>> = GlobalScope.future { doSomething() }
现在doSomethingAsync
,以与在Java世界中使用其他异步API相同的方式在Java中使用。
以上是 在Java类中调用Kotlin暂停函数 的全部内容, 来源链接: utcz.com/qa/432244.html