FunctionalBindableEventListener
abstract class FunctionalBindableEventListener(instance: Any?, val caller: KFunction<*>, dispatcherContext: CoroutineContext = Dispatchers.IO) : FunctionalEventListener(source)
可以进行动态参数绑定的 FunctionalEventListener, 可以通过 binders 对 caller 进行参数绑定。
在 invoke 中,如果 caller 是可挂起的(isSuspend = true
), 则通过可挂起执行。 如果不是可挂起的,则会通过 runInterruptible 在可中断中普通执行。 runInterruptible 会使用 dispatcherContext 作为调度器。
Constructors
Link copied to clipboard
constructor(instance: Any?, caller: KFunction<*>, dispatcherContext: CoroutineContext = Dispatchers.IO)
Properties
Link copied to clipboard
binder数组,其索引下标应当与 KCallable.parameters (不包括 INSTANCE) 的 KParameter.index 相对应。 在使用 binders 时,会直接按照其顺序转化为对应的值。
Functions
Link copied to clipboard
对结果的数据类型进行转化。
Link copied to clipboard
函数执行。
Link copied to clipboard
可能存在的整合到 handle 中的逻辑匹配。
Link copied to clipboard
对 caller 执行后的返回值进行处理并转化为 EventResult. 可覆盖并自定义结果逻辑。