Devik0213 / memo

메모
1 stars 0 forks source link

coroutine 활용 #10

Open Devik0213 opened 6 years ago

Devik0213 commented 6 years ago

실행순서에 따른 방식

launch, thread, async 는 non-blocking runBlocking { } 는 block 상태로있다. UI Thread 에서는 바로 사용이 불가능하고 suspend 해야함.

launch {
    var agreementJob = launch {
        Timber.d("step 2")
        var result = SeriesApiRepository.service.getAgreeTermsResult().execute()
        result.body()?.let {
            Timber.d("step 3")
        }
    }
    Timber.d("step 1")
    agreementJob.join() 
    Timber.d("step 4")

    runBlocking {
        Timber.d("step 5")
    }

    Timber.d("step 6")
}
Timber.d("step 0")