subscribeOnce

expect inline fun <E : Event> subscribeOnce(    coroutineContext: CoroutineContext = EmptyCoroutineContext,     priority: EventPriority = EventPriority.NORMAL,     noinline handler: suspend E.(E) -> Unit): Listener<E>

创建一个事件监听器, 监听事件通道中所有 E 及其子类事件, 只监听一次. 当 事件广播 时, handler 会被执行.

可在任意时候通过 Listener.complete 来主动停止监听.

Parameters

coroutineContext

defaultCoroutineContext 的基础上, 给事件监听协程的额外的 CoroutineContext

priority

处理优先级, 优先级高的先执行

See also

获取更多说明


expect fun <E : Event> subscribeOnce(    eventClass: KClass<out E>,     coroutineContext: CoroutineContext = EmptyCoroutineContext,     priority: EventPriority = EventPriority.NORMAL,     handler: suspend E.(E) -> Unit): Listener<E>

See also

fun <E : Event> subscribeOnce(    eventClass: <Error class: unknown class><out E>,     coroutineContext: CoroutineContext = EmptyCoroutineContext,     concurrency: ConcurrencyKind = CONCURRENT,     priority: EventPriority = EventPriority.NORMAL,     handler: <Error class: unknown class><E>): Listener<E>

Java API. 查看 subscribeOnce 获取更多信息.

eventChannel.subscribeOnce(GroupMessageEvent.class, (event) -> { });

See also


actual inline fun <E : Event> subscribeOnce(    coroutineContext: CoroutineContext,     priority: EventPriority,     noinline handler: suspend E.(E) -> Unit): Listener<E>

创建一个事件监听器, 监听事件通道中所有 E 及其子类事件, 只监听一次. 当 事件广播 时, handler 会被执行.

可在任意时候通过 Listener.complete 来主动停止监听.

Parameters

coroutineContext

defaultCoroutineContext 的基础上, 给事件监听协程的额外的 CoroutineContext

priority

处理优先级, 优先级高的先执行

See also

获取更多说明


actual fun <E : Event> subscribeOnce(    eventClass: KClass<out E>,     coroutineContext: CoroutineContext,     priority: EventPriority,     handler: suspend E.(E) -> Unit): Listener<E>

See also