首页 > 解决方案 > 如何立即开始执行 Kotlin Coroutine

问题描述

我想立即启动协程。我有一段代码:

class SampleActivity : AppCompatActivity(), CoroutineScope {

    private var job: Job = Job()
    override val coroutineContext: CoroutineContext
        get() = Dispatchers.Main + job

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        Log.d("SampleActivity", "Before launch")

        launch {
            Log.d("SampleActivity", "Inside coroutine")
        }

        Log.d("SampleActivity", "After launch")
    }
}

输出是:

Before launch
After launch
Inside coroutine

是否可以按以下顺序实现输出?

Before launch
Inside coroutine
After launch

标签: androidkotlinkotlin-coroutinescoroutinecoroutinescope

解决方案


尝试使用以下命令启动它:

launch(Dispatchers.Main.immediate)

本文中的更多信息。


推荐阅读