package
1.5.4
Repository: https://github.com/isyscore/isc-gobase.git
Documentation: pkg.go.dev

# 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