invoke
inline operator fun <T> ContinuousSessionContext.invoke(block: ContinuousSessionContext.() -> T): T(source)
进入到 ContinuousSessionContext 上下文中。
主要作用为可以更方便的使用 ContinuousSessionContext.next 、ContinuousSessionContext.nextMessage 等需要事件上下文环境的情况。
e.g.
suspend fun EventProcessingContext.barListener(event: BarEvent, session: ContinuousSessionContext) {
session { // this: session
next(...)
}
}
// ---------------------------------------
suspend fun FooMessageEvent.fooListener(session: ContinuousSessionContext) {
session { // this: session
nextMessages(...)
}
}
Content copied to clipboard
这种行为类似于 run 或 apply。 你也可以使用它们来代替当前函数。
Receiver
Return
block 函数的最终返回值