startCoroutineUninterceptedOrReturn

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)
fun <T> (suspend () -> T).startCoroutineUninterceptedOrReturn(
    completion: Continuation<T>
): Any?
For Common, JS, Native

Starts an unintercepted coroutine without a receiver and with result type T and executes it until its first suspension. Returns the result of the coroutine or throws its exception if it does not suspend or COROUTINE_SUSPENDED if it suspends. In the latter case, the completion continuation is invoked when the coroutine completes with a result or an exception.

The coroutine is started directly in the invoker's thread without going through the ContinuationInterceptor that might be present in the completion's CoroutineContext. It is the invoker's responsibility to ensure that a proper invocation context is established.

This function is designed to be used from inside of suspendCoroutineUninterceptedOrReturn to resume the execution of the suspended coroutine using a reference to the suspending function.

For JVM

Starts an unintercepted coroutine without a receiver and with result type T and executes it until its first suspension. Returns the result of the coroutine or throws its exception if it does not suspend or COROUTINE_SUSPENDED if it suspends. In the latter case, the completion continuation is invoked when the coroutine completes with a result or an exception.

The coroutine is started directly in the invoker's thread without going through the ContinuationInterceptor that might be present in the completion's CoroutineContext. It is the invoker's responsibility to ensure that a proper invocation context is established.

This function is designed to be used from inside of suspendCoroutineUninterceptedOrReturn to resume the execution of the suspended coroutine using a reference to the suspending function.

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)
fun <R, T> (suspend R.() -> T).startCoroutineUninterceptedOrReturn(
    receiver: R, 
    completion: Continuation<T>
): Any?
For Common, JS, Native

Starts an unintercepted coroutine with receiver type R and result type T and executes it until its first suspension. Returns the result of the coroutine or throws its exception if it does not suspend or COROUTINE_SUSPENDED if it suspends. In the latter case, the completion continuation is invoked when the coroutine completes with a result or an exception.

The coroutine is started directly in the invoker's thread without going through the ContinuationInterceptor that might be present in the completion's CoroutineContext. It is the invoker's responsibility to ensure that a proper invocation context is established.

This function is designed to be used from inside of suspendCoroutineUninterceptedOrReturn to resume the execution of the suspended coroutine using a reference to the suspending function.

For JVM

Starts an unintercepted coroutine with receiver type R and result type T and executes it until its first suspension. Returns the result of the coroutine or throws its exception if it does not suspend or COROUTINE_SUSPENDED if it suspends. In the latter case, the completion continuation is invoked when the coroutine completes with a result or an exception.

The coroutine is started directly in the invoker's thread without going through the ContinuationInterceptor that might be present in the completion's CoroutineContext. It is the invoker's responsibility to ensure that a proper invocation context is established.

This function is designed to be used from inside of suspendCoroutineUninterceptedOrReturn to resume the execution of the suspended coroutine using a reference to the suspending function.

© 2010–2021 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines.intrinsics/start-coroutine-unintercepted-or-return.html