Spec-Zone.ru › Kotlin 1.9

ContinuationInterceptor

kotlin-stdlib / kotlin.coroutines / ContinuationInterceptor
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)
interface ContinuationInterceptor : Element

Помечает элемент контекста сопрограммы, который перехватывает продолжения сопрограмм. Система сопрограмм использует ContinuationInterceptor.Key для получения перехватчика и перехватывает все продолжения сопрограмм с вызовами interceptContinuation.

ContinuationInterceptor ведет себя как полиморфный элемент, что означает, что его реализация делегирует get и minusKey соответственно методам getPolymorphicElement и minusPolymorphicKey. Подтипы ContinuationInterceptor могут быть извлечены из контекста сопрограммы с помощью ContinuationInterceptor.Key или ключа подтипа, если он расширяет AbstractCoroutineContextKey.

Типы

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

Key

Ключ, определяющий перехватчик контекста.

companion object Key : Key<ContinuationInterceptor>

Функции

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

get

Возвращает элемент с заданным

open operator fun <E : Element> get(key: Key<E>): E?
Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

interceptContinuation

Возвращает продолжение, которое оборачивает исходное .

abstract fun <T> interceptContinuation(
    continuation: Continuation<T>
): Continuation<T>
Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

minusKey

Возвращает контекст, содержащий элементы из этого контекста, но без элемента с указанным

open fun minusKey(key: Key<*>): CoroutineContext
Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

releaseInterceptedContinuation

Вызывается для экземпляра продолжения, возвращенного методом interceptContinuation, когда исходное продолжение завершается и больше не будет использоваться. Эта функция вызывается только в том случае, если interceptContinuation возвратил другой экземпляр продолжения, чем тот, с которым она была вызвана.

open fun releaseInterceptedContinuation(
    continuation: Continuation<*>)

Расширяющие функции

Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

getPolymorphicElement

Возвращает текущий элемент, если он связан с заданным Element.key равен заданному связан с Element.key через AbstractCoroutineContextKey. Пример использования см. в AbstractCoroutineContextKey.

fun <E : Element> Element.getPolymorphicElement(
    key: Key<E>
): E?
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

minusPolymorphicKey

Возвращает пустой контекст сопрограммы, если элемент связан с заданным Element.key равен заданному связан с Element.key через AbstractCoroutineContextKey. Пример использования см. в AbstractCoroutineContextKey.

fun Element.minusPolymorphicKey(
    key: Key<*>
): CoroutineContext

© 2010–2023 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/-continuation-interceptor/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API