<@U0BNGCVCK> The advise from @Iofe is good. You'd ...
# coroutines
e
@deviant The advise from @Iofe is good. You'd do
launch(UI) { ... }
and then you either use some suspending function that is already asynchronous or, if you have a blocking function, you convert it to suspending one using run (not async, which returns a future):
Copy code
launch(UI) { 
    val json = fetchFromNetwork()
    // update UI
}

suspend fun fetchFromNetwork() = run(CommonPool) { ... }