代码拉取完成,页面将自动刷新
event interface & inproc event hub
// Manager 定义事件管理器接口
type Manager interface {
// On 注册一个指定事件
// @trigger 触发事件的 trigger
// @handlerName 触发事件的 trigger 的标记名称
// @handler 事件委托
// returns
// @error ErrInvalidTrigger | ErrInvalidHandlerName | ErrEventHandlerNotFunc
On(trigger, handlerName string, handler interface{}) error
// Fire 触发一个指定事件
// @trigger 触发事件的 trigger
// @args 回调事件委托传入的参数
// returns
// @bool 触发是否被链中某个回调给阻止
// @error 在回调过程中发生的错误
Fire(trigger string, args ...interface{}) (stopPropagation bool, err error)
// RemoveHandler 移除一个指定handler
// @trigger 触发事件的 trigger
// @handlerName 触发事件的 trigger 的标记名称
RemoveHandler(trigger, handlerName string)
// RemoveTrigger 移除一个指定trigger
// @trigger 触发事件的 trigger
RemoveTrigger(trigger string)
// Triggers 返回所有已注册的 trigger 名
Triggers() []string
// HandlerNames 指定 trigger 已绑定的 handler 名称
HandlerNames(trigger string) []string
}
//定义事件(委托)方法 var handler = func(arg1, arg2) (stopPropagation bool, err error)
// bool 指定链冒泡是否继续,为 true 时阻止传递
// error 指定委托方法中是否出现错误
// 当停止冒泡或委托错误时,将阻止冒泡
// 初始化
em := NewEventManager()
// 注册事件
em.On("trigger", "hanlderName", handler)
// 分发事件
em.Fire("trigger", arg1, arg2, arg3...) (stopPropagation bool, err error)
// 清除指定链
em.RemoveTrigger("trigger")
// 清除指定委托
em.RemoveHandler("trigger", "hanlderName")
// 获取事件 trigger 名称集合
em.Triggers() []string
// 获取指定事件 trigger 的委托名称集合
em.HandlerNames("trigger") []string
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。