# README
listener
listener包:是isc-gobase的事件监听模块
用法
提供api
// 添加事件监听器
listener.AddListener(eventName string, eventListener EventListener)
// 添加分组的事件监听器,分组默认为:GobaseDefault
listener.AddListenerWithGroup(group string, eventName string, eventListener EventListener)
// 发布事件
listener.PublishEvent(event listener.BaseEvent)
快速使用
1. 定义事件
事件要实现接口 listener.BaseEvent
的方法
type Event1 struct {
Company string
}
func (e1 Event1) Name() string {
return "event1"
}
import (
"fmt"
"github.com/isyscore/isc-gobase/listener"
"testing"
)
func TestPublish(t *testing.T) {
listener.AddListener("event1", Event1Lister1)
listener.AddListener("event1", Event1Lister2)
listener.AddListener("event1", Event1Lister3)
listener.PublishEvent(Event1{Company: "公司"})
}
// 事件监听器1
func Event1Lister1(event listener.BaseEvent) {
ev := event.(Event1)
fmt.Println("Event1Lister1: " + ev.Company)
}
// 事件监听器2
func Event1Lister2(event listener.BaseEvent) {
ev := event.(Event1)
fmt.Println("Event1Lister2: " + ev.Company)
}
// 事件监听器3
func Event1Lister3(event listener.BaseEvent) {
ev := event.(Event1)
fmt.Println("Event1Lister3: " + ev.Company)
}
内置监听器
isc-gobase内置了几类事件
- EventOfServerRunStart: 服务开启运行事件
- EventOfServerRunFinish: 服务启动完成事件
- EventOfServerStop: 服务关闭事件
- EventOfConfigChange: 配置变更事件
常用示例:
func init() {
// 添加服务器启动完成事件监听
listener.AddListener(listener.EventOfServerRunFinish, func(event listener.BaseEvent) {
logger.Info("应用启动完成")
})
}
func main() {
server.Get("api/get", GetData)
server.Run()
}
# Packages
No description provided by the author
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
ConfigChangeEvent 配置变更事件, 对应:event_of_config_change.
ServerRunFinishEvent 服务完成启动事件, 对应:event_of_server_run_finish.
ServerRunStartEvent 服务开始启动事件, 对应:event_of_server_run_start.
ServerStopEvent 服务关闭事件, 对应:event_of_server_stop.
# Interfaces
No description provided by the author
# Type aliases
No description provided by the author