suspend 挂起的原理:
挂起函数是一种可以在不壅闭线程的环境下挂起和恢复实行的函数。在Kotlin中,我们可以使用suspend关键字来界说一个挂起函数。挂起函数只能在协程或其他挂起函数中调用。
被suspend修饰的函数,该函数就会挂起.挂起函数能够以与普通函数相同的⽅式获取参数和返回值,但它们只能从协同和其他挂起函数中调⽤。 挂起suspend 函数 , 只能在 协程体内部 大概 别的挂起函数(带有suspend ) 中调用 ;协程外部不允许使用挂起函数 ;
在协程中 , 实行 挂起 Suspend 函数 ,通过调度器切换到IO子线程,做异步耗时利用,必要等到拿到返回数据值才能实行后面的逻辑,但我们又不盼望壅闭当前线程(通常是主线程),因此终极必须实现某种消息传递的机制,让背景子线程做完耗时利用以后把数据结果传给主线程。
[code]suspend fun requestToken(): String
suspend fun createPost(token: String, item: Item): Post
suspend fun processPost(post)
suspend fun postItem(item: Item) {
val token = |