createCoroutine

fun <R, T> (suspend R.() -> T).createCoroutine(
    receiver: R,
    completion: Continuation<T>
): Continuation<Unit>
(source)

Platform and version requirements: Kotlin 1.1

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.

fun <T> (suspend () -> T).createCoroutine(
    completion: Continuation<T>
): Continuation<Unit>
(source)

Platform and version requirements: Kotlin 1.1

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.