fun getData(): Data { ... } fun showData(data: Data) { ... } async(UI) { val data: Deferred<Data> = bg { // Runs in background getData() } // This code is executed on the UI thread showData(data.await()) }

이거는 async/await랑 구조가 비슷해서 이해가는데 공식문서는 죽어도 모르겠음;