Пакет 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–2022 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