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

来源:11-5 Kotlin 协程的基本要素1

GinZzz

2023-07-08

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

写回答

1回答

bennyhuo

2023-07-10

通过suspendCoroutine创建的fun不就是在正常的方法里调用的吗
---
suspendCoroutine是个挂起函数,需要在挂起函数里面调用。同学说的使用它创建的fun是指 suspend fun a() = suspendCoroutine ... 当中的 a 吗?显然 a 必须是挂起函数才行
0
2
bennyhuo
回复
GinZzz
好的,加油
2023-07-15
共2条回复

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1760 学习 · 481 问题

查看课程