kotlin 协程有返回值的函数
时间: 2024-01-23 13:42:07 浏览: 137
有返回值的函数
Kotlin 协程中可以使用 `async` 函数创建一个异步的任务,并且该任务可以返回一个值。可以通过 `await()` 函数获取该异步任务的返回值。
以下是一个简单的示例:
```kotlin
import kotlinx.coroutines.*
fun main() = runBlocking {
val deferred: Deferred<Int> = async {
delay(1000L) // 假设这里执行了一些耗时操作
return@async 42
}
val result: Int = deferred.await()
println("Result is $result")
}
```
在上面的示例中,`async` 函数创建了一个异步任务,并且该任务返回了一个整数值。然后通过 `await()` 函数等待该异步任务完成,并获取其返回值。最后输出了该返回值。
需要注意的是,`async` 函数返回的是一个 `Deferred` 对象,而不是直接的返回值。因为 `async` 函数创建的是一个异步任务,该任务可能需要一些时间才能完成。因此,`Deferred` 对象表示的是一个可能还未完成的异步任务,需要通过 `await()` 函数等待其完成。
阅读全文