kotlin 怎么等协程执行完了再return
时间: 2024-05-07 16:23:36 浏览: 270
wifi直连遥控照相系统重构-代码
要等待协程执行完成后再返回结果,可以使用 `runBlocking` 函数。这样,在函数中启动的所有协程都将执行完成后,才会继续执行函数并返回结果。
例如,以下代码演示了在使用协程的函数中等待所有协程执行完成后再返回结果:
```kotlin
import kotlinx.coroutines.*
suspend fun doSomeWork(): String {
delay(3000)
return "Work is done!"
}
fun main() = runBlocking<Unit> {
val job1 = launch { println(doSomeWork()) }
val job2 = launch { println(doSomeWork()) }
val job3 = launch { println(doSomeWork()) }
job1.join()
job2.join()
job3.join()
println("All work is done!")
}
```
在上面的代码中,我们使用 `launch` 函数启动了三个协程,并使用 `join` 函数等待它们执行完成。最后,我们打印出了 "All work is done!",表示所有协程都已经执行完成。
阅读全文