Как начать выполнение Kotlin Coroutine немедленно - PullRequest
0 голосов
/ 04 марта 2019

Я хочу немедленно запустить сопрограмму.У меня есть кусок кода:

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

1 Ответ

0 голосов
/ 04 марта 2019

Попробуйте запустить его с:

launch(Dispatchers.Main.immediate)

Подробнее в этой статье.

...