createCoroutine

Common
JVM
JS
Native
1.1
fun <R, T> (suspend R.() -> T).createCoroutine(
    receiver: R,
    completion: Continuation<T>
): Continuation<Unit>

Creates a coroutine with receiver type R and result type T. This function creates a new, fresh instance of suspendable computation every time it is invoked.

To start executing the created coroutine, invoke resume(Unit) on the returned Continuation instance. The completion continuation is invoked when coroutine completes with result or exception. Repeated invocation of any resume function on the resulting continuation produces IllegalStateException.

Common
JVM
JS
Native
1.1
fun <T> (suspend () -> T).createCoroutine(
    completion: Continuation<T>
): Continuation<Unit>

Creates a coroutine without receiver and with result type T. This function creates a new, fresh instance of suspendable computation every time it is invoked.

To start executing the created coroutine, invoke resume(Unit) on the returned Continuation instance. The completion continuation is invoked when coroutine completes with result or exception. Repeated invocation of any resume function on the resulting continuation produces IllegalStateException.