Kotlin的延续功能是否可用?有可用的例子吗?

时间:2018-09-08 09:59:05

标签: kotlin continuations kotlinx.coroutines delimited-continuations

有一个package in Kotlin for continuations,但已标记为实验性的。除了API之外,没有任何文档,在任何我能找到的地方都没有教程或示例。有人知道它是否已经可用吗?用法的一个例子是什么?

2 个答案:

答案 0 :(得分:2)

Continuation接口是标准库中协程支持API的一部分。您可以从documentation pagekotlinx.coroutines库存储库开始探索协程,该库包含大量的协程编程指南。

协程在Kotlin 1.1和1.2中处于实验阶段,但是有announcement会在1.3中稳定下来。

答案 1 :(得分:1)

当您说“延续”时,您实际上是在说“协程”。延续是这个故事的一部分。

JetBrains团队的

kotlin-coroutines-informal是从协程开始的绝佳资源。如果您希望将它们用于Android上的异步编程,请特别注意现有异步API提供的wrapping the callbacks部分,将现有Java函数调用转换为Kotlin suspend fun。 >

关于实验状态,请查看该问题的Roman Elizarov's答案。这是一个亮点:

  

Kotlin协程可以并且应该在生产中使用。这是在Kotlin 1.1中正式发布它们的主要原因。在发布它们之后,JetBrains团队致力于保持向后兼容性,以适应次版本在其演变过程中引入的任何更改,同时允许人们在复杂的生产应用程序中安全地进行尝试。

绝对没有理由等待1.3开始使用协程。无论您今天写的是什么,都可以在可预见的未来中使用,并且不会有任何变化,最重要的是,在发行后,从kotlinx.coroutines.experimental切换到kotlinx.coroutines非常容易。这些API已经非常稳定,并且大多数更改现在都在渠道和参与者方面。