Объявления на уровне пакета
Низкоуровневые строительные блоки для библиотек, предоставляющих API на основе корутин.
Свойства
Требования к платформе и версии: Common (1.3)
val COROUTINE_SUSPENDED: Any
Это значение используется как возвращаемое значение suspendCoroutineUninterceptedOrReturn block аргумент, указывающий, что выполнение было приостановлено и немедленно не вернёт результат.
Функции
Требования к платформе и версии: Common (1.3)
expect fun <T> suspend () -> T.createCoroutineUnintercepted(completion: Continuation<T>): Continuation<Unit>
expect fun <R, T> suspend R.() -> T.createCoroutineUnintercepted(receiver: R, completion: Continuation<T>): Continuation<Unit>
Требования к платформе и версии: JS (1.3), JVM (1.3), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
actual fun <T> suspend () -> T.createCoroutineUnintercepted(completion: Continuation<T>): Continuation<Unit>
Создаёт неперехватываемую корутину без получателя с типом результата T. Эта функция каждый раз при вызове создаёт новый экземпляр приостанавливаемого вычисления.
actual fun <R, T> suspend R.() -> T.createCoroutineUnintercepted(receiver: R, completion: Continuation<T>): Continuation<Unit>
Требования к платформе и версии: Common (1.3), JS (1.3), JVM (1.3), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun <T> Continuation<T>.intercepted(): Continuation<T>
Перехватывает это продолжение с помощью ContinuationInterceptor.
Требования к платформе и версии: Common (1.3), JVM (1.3), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect inline fun <T> suspend () -> T.startCoroutineUninterceptedOrReturn(completion: Continuation<T>): Any?
Запускает неперехватываемую корутину без получателя с типом результата T и выполняет её до первой приостановки. Возвращает результат корутины или выбрасывает её исключение, если она не приостанавливается, либо возвращает COROUTINE_SUSPENDED, если она приостанавливается. В последнем случае продолжение completion вызывается при завершении корутины с результатом или исключением.
expect inline fun <R, T> suspend R.() -> T.startCoroutineUninterceptedOrReturn(receiver: R, completion: Continuation<T>): Any?
Запускает неперехватываемую корутину с типом получателя R и типом результата T и выполняет её до первой приостановки. Возвращает результат корутины или выбрасывает её исключение, если она не приостанавливается, либо возвращает COROUTINE_SUSPENDED, если она приостанавливается. В последнем случае продолжение completion вызывается при завершении корутины с результатом или исключением.
Требования к платформе и версии: JS (1.3)
actual inline fun <T> suspend () -> T.startCoroutineUninterceptedOrReturn(completion: Continuation<T>): Any?
Запускает неперехватываемую корутину без получателя с типом результата T и выполняет её до первой приостановки. Возвращает результат корутины или выбрасывает её исключение, если она не приостанавливается, либо возвращает COROUTINE_SUSPENDED, если она приостанавливается. В последнем случае продолжение completion вызывается при завершении корутины с результатом или исключением.
actual inline fun <R, T> suspend R.() -> T.startCoroutineUninterceptedOrReturn(receiver: R, completion: Continuation<T>): Any?
Запускает неперехватываемую корутину с типом получателя R и типом результата T и выполняет её до первой приостановки. Возвращает результат корутины или выбрасывает её исключение, если она не приостанавливается, либо возвращает COROUTINE_SUSPENDED, если она приостанавливается. В последнем случае продолжение completion вызывается при завершении корутины с результатом или исключением.
Требования к платформе и версии: Common (1.3)
inline suspend fun <T> suspendCoroutineUninterceptedOrReturn(crossinline block: (Continuation<T>) -> Any?): T
Получает текущий экземпляр продолжения внутри приостанавливаемых функций и либо приостанавливает выполняющуюся корутину, либо немедленно возвращает результат без приостановки.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.coroutines.intrinsics/index.html