Пакет kotlin.coroutines.intrinsics
Базовые блоки для библиотек, предоставляющих API на основе сопроцедур.
Свойства
COROUTINE_SUSPENDED
Это значение используется в качестве возвращаемого значения функции suspendCoroutineUninterceptedOrReturn block для обозначения того, что выполнение было приостановлено и не вернёт никакого результата немедленно.
val COROUTINE_SUSPENDED: Any
Функции
createCoroutineUnintercepted
Создаёт непромежуточную сопроцедуру без получателя и с типом результата T. Эта функция каждый раз создаёт новый экземпляр приостанавливаемого вычисления при вызове.
fun <T> (suspend () -> T).createCoroutineUnintercepted( completion: Continuation<T> ): Continuation<Unit>
intercepted
Перехватывает эту приостановку с ContinuationInterceptor.
fun <T> Continuation<T>.intercepted(): Continuation<T>
startCoroutineUninterceptedOrReturn
Запускает непромежуточную сопроцедуру без получателя и с типом результата T и выполняет её до первой приостановки. Возвращает результат сопроцедуры или выбрасывает её исключение, если она не приостанавливается или COROUTINE_SUSPENDED, если она приостанавливается. В последнем случае, продолжение completion вызывается, когда сопроцедура завершается результатом или исключением.
fun <T> (suspend () -> T).startCoroutineUninterceptedOrReturn( completion: Continuation<T> ): Any?
Запускает непромежуточную сопроцедуру с типом получателя R и типом результата T и выполняет её до первой приостановки. Возвращает результат сопроцедуры или выбрасывает её исключение, если она не приостанавливается или COROUTINE_SUSPENDED, если она приостанавливается. В последнем случае, продолжение completion вызывается, когда сопроцедура завершается результатом или исключением.
fun <R, T> (suspend R.() -> T).startCoroutineUninterceptedOrReturn( receiver: R, completion: Continuation<T> ): Any?
suspendCoroutineUninterceptedOrReturn
Получает текущий экземпляр продолжения внутри функций suspend и либо приостанавливает текущую выполняемую сопроцедуру, либо возвращает результат немедленно без приостановки.
suspend fun <T> suspendCoroutineUninterceptedOrReturn( block: (Continuation<T>) -> Any? ): T
© 2010–2020 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/index.html