Объявления уровня пакета
Основные примитивы для создания и приостановки корутин: интерфейсы Continuation и CoroutineContext, функции верхнего уровня для создания и приостановки корутин.
Типы
Требования к платформе и версии: Common (1.3)
abstract class AbstractCoroutineContextElement(val key: CoroutineContext.Key<*>) : CoroutineContext.Element
Базовый класс для реализаций CoroutineContext.Element.
Требования к платформе и версии: Common (1.3)
abstract classAbstractCoroutineContextKey<B : CoroutineContext.Element, E : B>(baseKey: CoroutineContext.Key<B>, safeCast: (element: CoroutineContext.Element) -> E?) : CoroutineContext.Key<E>
Базовый класс для CoroutineContext.Key, связанного с полиморфной реализацией CoroutineContext.Element. Полиморфная реализация элемента предполагает делегирование вызовов get и minusKey методам getPolymorphicElement и minusPolymorphicKey соответственно.
Требования к платформе и версии: Common (1.3)
interface Continuation<in T>
Интерфейс, представляющий продолжение после точки приостановки, которое возвращает значение типа T.
Требования к платформе и версии: Common (1.3)
interface ContinuationInterceptor : CoroutineContext.Element
Помечает элемент контекста корутины, который перехватывает продолжения корутин. Инфраструктура корутин использует ContinuationInterceptor.Key, чтобы получить перехватчик, и перехватывает все продолжения корутин с помощью вызовов interceptContinuation.
Требования к платформе и версии: Common (1.3)
interface CoroutineContext
Требования к платформе и версии: Common (1.3)
object EmptyCoroutineContext : CoroutineContext, Serializable
Пустой контекст корутины.
Требования к платформе и версии: Common (2.4)
annotation class ExperimentalStdlibCoroutineSupportApi@Target(allowedTargets = [AnnotationTarget.CLASS,AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS ] )
Эта аннотация помечает экспериментальные дополнения API стандартной библиотеки, связанные с корутинами.
Требования к платформе и версии: Common (1.3)
annotation class RestrictsSuspension
Классы и интерфейсы, помеченные этой аннотацией, ограничены при использовании в качестве получателей функций-расширений suspend. Такие расширения suspend могут вызывать только другие функции-члены или функции-расширения suspend для этого конкретного получателя и не могут вызывать произвольные функции приостановки.
Требования к платформе и версии: Native (1.3)
interfaceSuspendFunction<out R>
Представляет значение функционального типа, например лямбду, анонимную функцию или ссылку на функцию.
Свойства
Требования к платформе и версии: Common (1.3)
val coroutineContext: CoroutineContext
Возвращает контекст текущей корутины.
Функции
Требования к платформе и версии: Common (1.3)
inline fun <T> Continuation(context: CoroutineContext, crossinline resumeWith: (Result<T>) -> Unit): Continuation<T>
Создает экземпляр Continuation с указанным context и реализацией метода resumeWith.
Требования к платформе и версии: Common (1.3)
fun <T> suspend () -> T.createCoroutine(completion: Continuation<T>): Continuation<Unit>
Создает корутину без получателя с типом результата T. Эта функция каждый раз при вызове создает новый экземпляр приостанавливаемого вычисления.
fun <R, T> suspend R.() -> T.createCoroutine(receiver: R, completion: Continuation<T>): Continuation<Unit>
Требования к платформе и версии: Common (1.3)
fun <E : CoroutineContext.Element> CoroutineContext.Element.getPolymorphicElement(key: CoroutineContext.Key<E>): E?
Возвращает текущий элемент, если он полиморфно связан с указанным key, или null в противном случае. Этот метод возвращает ненулевое значение, если Element.key равен указанному key или если key связан с Element.key через AbstractCoroutineContextKey. Пример использования см. в описании AbstractCoroutineContextKey.
Требования к платформе и версии: Common (1.3)
fun CoroutineContext.Element.minusPolymorphicKey(key: CoroutineContext.Key<*>): CoroutineContext
Возвращает пустой контекст корутины, если элемент полиморфно связан с указанным key, или this в противном случае. Этот метод возвращает пустой контекст, если Element.key равен указанному key или если key связан с Element.key через AbstractCoroutineContextKey. Пример использования см. в описании AbstractCoroutineContextKey.
Требования к платформе и версии: Common (1.3)
inline fun <T> Continuation<T>.resumeWithException(exception: Throwable)
Возобновляет выполнение соответствующей корутины, чтобы исключение exception было повторно выброшено сразу после последней точки приостановки.
Требования к платформе и версии: Common (1.3)
fun <T> suspend () -> T.startCoroutine(completion: Continuation<T>)
Запускает корутину без получателя с типом результата T. Эта функция каждый раз при вызове создает и запускает новый экземпляр приостанавливаемого вычисления. Продолжение completion вызывается, когда корутина завершается с результатом или исключением.
fun <R, T> suspend R.() -> T.startCoroutine(receiver: R, completion: Continuation<T>)
Запускает корутину с типом получателя R и типом результата T. Эта функция каждый раз при вызове создает и запускает новый экземпляр приостанавливаемого вычисления. Продолжение completion вызывается, когда корутина завершается с результатом или исключением.
Требования к платформе и версии: Common (1.3)
inline suspend fun <T> suspendCoroutine(crossinline block: (Continuation<T>) -> Unit): 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/index.html