Suspend Functions of Kotlin Coroutines
Suspending Functions
Suspending functions are a cornerstone of Kotlin Coroutines. They are the functions that can be paused and resumed at a later time. To define a suspending function, you use the suspend modifier. Here's a simple example:
import kotlinx.coroutines.*
suspend fun doSomething() {
    delay(1000L)
    println("Doing something")
}
fun main() = runBlocking {
    launch {
        doSomething()
    }
}
In this code, doSomething is a suspending function. Inside doSomething, we're delaying for one second and then printing a message. We're calling doSomething from a coroutine, because suspending functions can only be called from another suspending function or a coroutine.