【2025最新版Kotlin教程】Kotlin第一行代码系列第十九课-挂起函数

79 阅读1分钟
【2025最新版Kotlin教程】Kotlin第一行代码系列第十九课-挂起函数

挂起函数:关键字 suspend fun 作用:以同步的方式完成异步任务
注意:挂起函数只能在协程域中调用

简单示例代码:
suspend fun getToken(): String {
    // 切到IO线程
    withContext(Dispatchers.IO){
        // 延迟300毫秒,就当去请求接口花费的时间
        delay(300)
    }
    println("getToken 开始执行,时间:  ${System.currentTimeMillis()}")
    return "token"
}

suspend fun getResponse(token: String): String {
    withContext(Dispatchers.IO){
        delay(300)
    }
    println("getResponse 开始执行${token},时间:  ${System.currentTimeMillis()}")
    return "response"
}

fun setText(response: String) {
    println("setText  执行${response},时间:  ${System.currentTimeMillis()}")
}

fun main() {

    GlobalScope.launch {
        println("协程 开始执行,时间:  ${System.currentTimeMillis()}")
        // 以同步的方式完成异步任务
        val token = getToken()
        val response = getResponse(token)

        setText(response)
    }
    println("协程 开始执行,时间1:  ${System.currentTimeMillis()}")
    Thread.sleep(1000)
}
整个kotlin教程的源码项目结构图:

在这里插入图片描述
有问题或者完整源码的可以看简介联系我,也可以私信我,我每天都看私信的