gpt4 book ai didi

kotlin - Kotlin Coroutines的 `Async/Await`的非暂停版本是什么?

转载 作者:行者123 更新时间:2023-12-02 12:42:48 24 4
gpt4 key购买 nike

fun nonSuspendingFunction(): Boolean {
return async(UI) { true }
.await() // compiler error, can be called only within a suspending function
}

是否可以在 .await()的暂挂函数之外调用 Deferred<T>版本?我想阻止当前线程,直到 Deferred<T>返回。

最佳答案

runBlocking是您要寻找的。

import kotlinx.coroutines.experimental.async
import kotlinx.coroutines.experimental.runBlocking

fun blocks() = runBlocking {
async { true }.await()
}

我刚刚用一个非常简单的 main函数测试了上面的代码:
fun main(args: Array<String>) {
blocks().let(::println)
}

输出:
true

关于kotlin - Kotlin Coroutines的 `Async/Await`的非暂停版本是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49185385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com