Kotlin Coroutines with returning value

To return exactly Int, you need to get out of the coroutine world and that’s what runBlocking is for:

fun sum(): Int = runBlocking {
    funA().await() + funB().await()
}

See Bridging blocking and non-blocking worlds in the coroutine guide, and Composing suspending functions for how to do it if you want to use sum inside coroutines.

Leave a Comment