waiting

abstract suspend fun <T> waiting(id: String = randomIdStr(), listener: ContinuousSessionSelector<T>): T

注册一个持续会话监听函数并挂起等待. 如果注册时发现存在 id 冲突的持续会话监听函数,则上一个函数将会被立即关闭处理。

val session: ContinuousSessionContext = ...

session.waiting { provider -> // this: EventProcessingContext
// ...
provider.push(...)
}

超时处理

使用 withTimeout 或其衍生函数来进行超时控制。

val session: ContinuousSessionContext = ...

withTimeout(5.seconds) {
session.waiting { provider -> // this: EventProcessingContext
// ...
provider.push(...)
}
}

Throws

CancellationException

被终止时