Kotlin 中有一个用于 continuations 的包,但它被标记为实验性的。除了 API 之外没有其他文档,也没有我能找到的任何教程或示例。有谁知道它是否已经可以使用?什么是它的用法示例?
2 回答
该Continuation
接口是标准库中协程支持 API 的一部分。您可以从文档页面或kotlinx.coroutines库存储库开始探索协程,其中包含大量的协程编程指南。
协程在 Kotlin 1.1 和 1.2 中是实验性的,但有消息称它们将在 1.3 中稳定下来。
当您说“延续”时,实际上是指“协程”。延续是这个故事的一部分。
JetBrains 团队的kotlin-coroutines-informal是一个很好的资源,可以帮助您开始使用协程。如果您希望将它们用于 Android 上的异步编程,请特别注意有关包装现有异步 API 提供的回调,将现有 Java 函数调用转换为 Kotlinsuspend fun
的部分。
关于实验状态,请查看Roman Elizarov对该问题的回答。这里有一个亮点:
Kotlin 协程可以而且应该在生产中使用。这是在 Kotlin 1.1 中正式发布它们的主要原因。发布它们后,JetBrains 团队承诺在次要版本中随着它们的发展而引入的任何更改保持向后兼容性,同时允许人们在复杂的生产应用程序中安全地试用它们。
绝对没有理由等待 1.3 开始使用协程。你今天写的任何东西都可以在可预见的未来继续工作,而且不会有任何变化,最重要的是,在发布后很容易kotlinx.coroutines.experimental
切换kotlinx.coroutines
。API 已经非常稳定,现在大部分变化都在频道和演员领域。