suspendCoroutine

inline suspend fun <T> suspendCoroutine(crossinline block: (Continuation<T>) -> Unit): T(source)

Obtains the current continuation instance inside suspend functions and suspends the currently running coroutine.

In this function both Continuation.resume and Continuation.resumeWithException can be used either synchronously in the same stack-frame where the suspension function is run or asynchronously later in the same thread or from a different thread of execution. Subsequent invocation of any resume function will produce an IllegalStateException.

Since Kotlin

1.3