Kotlin中将suspend函数的返回值通过普通函数return

使用runblocking函数+async
``
import kotlinx.coroutines.*

fun nonSuspendFunction(): String {
return runBlocking {
val deferredResult = async {
// 调用 suspend 函数
suspendFunction()
}
deferredResult.await() // 等待结果
}
}

suspend fun suspendFunction(): String {
delay(1000) // 模拟耗时操作
return "Result from suspend function"
}
``

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 协程属于Kotlin中非常有特色的一项技术,因为大部分编程语言中是没有协程这个概念的。 那么什么是...
    隨風cvil阅读 939评论 0 1
  • 前言 以一个java老鸟的角度,如何去看 kotlin。 Java源代码应该如何用Kotlin重构。 如何正确学习...
    波澜步惊阅读 3,137评论 5 12
  • 为什么要搞出和用协程呢 是节省CPU,避免系统内核级的线程频繁切换,造成的CPU资源浪费。好钢用在刀刃上。而协程是...
    静默的小猫阅读 668评论 0 2
  • [TOC] 简介 Coroutines are computer program components that ...
    Whyn阅读 6,042评论 5 15
  • #Kotlin之班门弄斧 ##面向对象 ##java和kotlin的交互 ##协程及协程框架 ## 面向对象 ...
    束发_d7a8阅读 353评论 0 0