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