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 来主动停止监听.

See also

Parameters

coroutineContext

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

priority

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


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: Class<out E>,     coroutineContext: CoroutineContext = EmptyCoroutineContext,     concurrency: ConcurrencyKind = CONCURRENT,     priority: EventPriority = EventPriority.NORMAL,     handler: Consumer<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 来主动停止监听.

See also

Parameters

coroutineContext

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

priority

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


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

See also

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

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

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

See also

Parameters

coroutineContext

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

priority

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


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

See also