waiting
abstract suspend fun <T> waiting(id: String = randomIdStr(), listener: ContinuousSessionSelector<T>): T(source)
注册一个持续会话监听函数并挂起等待. 如果注册时发现存在 id 冲突的持续会话监听函数,则上一个函数将会被立即关闭处理。
val session: ContinuousSessionContext = ...
session.waiting { provider -> // this: EventProcessingContext
// ...
provider.push(...)
}
Content copied to clipboard
超时处理
使用 withTimeout 或其衍生函数来进行超时控制。
val session: ContinuousSessionContext = ...
withTimeout(5.seconds) {
session.waiting { provider -> // this: EventProcessingContext
// ...
provider.push(...)
}
}
Content copied to clipboard