请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于“挂起函数只能在挂起函数或者协程中调用”

看完后面的案例再看这句话有点小疑惑,通过suspendCoroutine创建的fun不就是在正常的方法里调用的吗。
“挂起函数只能在挂起函数或者协程中调用”这句话换个表达是不是更合适–“挂起函数只有在Continuation.resume被调用的时候才奏效(否则就是普通函数)”。
而挂起函数或者协程自动帮我们完成了这一步,suspendCoroutine里是我们自己手动调用的。

正在回答 回答被采纳积分+3

1回答

bennyhuo 2023-07-10 23:35:21
通过suspendCoroutine创建的fun不就是在正常的方法里调用的吗
---
suspendCoroutine是个挂起函数,需要在挂起函数里面调用。同学说的使用它创建的fun是指 suspend fun a() = suspendCoroutine ... 当中的 a 吗?显然 a 必须是挂起函数才行
0 回复 有任何疑惑可以回复我~
  • 提问者 GinZzz #1
    看了揭秘suspend fun main那一节才发现我忽略了之前例子main函数都是家了suspend了。。
    我以为main函数里直接调用suspend函数才提出了疑问,我的锅
    回复 有任何疑惑可以回复我~ 2023-07-15 11:50:31
  • bennyhuo 回复 提问者 GinZzz #2
    好的,加油
    回复 有任何疑惑可以回复我~ 2023-07-15 16:40:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信