gpt4 book ai didi

kotlin - 暂停功能中写入或不暂停的协程/恢复的区别是什么

转载 作者:行者123 更新时间:2023-12-02 13:19:28 26 4
gpt4 key购买 nike

下面的功能有什么区别。

suspend fun doSomething1():Boolean{
val res = longtimeFunction()
return res
}
suspend fun doSomething2():Boolean = suspendCoroutine{ continuation->
val res = longtimeFunction()
continuation.resume(res)
}

最佳答案

没有区别,因为这不是您使用suspendCoroutine的方式。为了实现挂起的非阻塞行为,首先,您需要一个不执行阻塞调用的API,而是要有一个方法来启动操作并立即返回,但是从您那里进行回调,该回调将被通知结果。例如:

suspend fun doSomething2() = suspendCoroutine<Boolean> { continuation ->
asyncLongtimeFunction(object: Callback {
override fun onSuccess(res: Boolean) {
continuation.resume(res)
}
})
}

关于kotlin - 暂停功能中写入或不暂停的协程/恢复的区别是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59833551/

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