gookit / event

📢 Lightweight event manager and dispatcher implements by Go. Go实现的轻量级的事件管理、调度程序库, 支持设置监听器的优先级, 支持使用通配符来进行一组事件的监听
https://pgk.go.dev/github.com/gookit/event
MIT License
508 stars 59 forks source link

event.on("*", xxxx) not work #8

Closed Richard1ybb closed 3 years ago

Richard1ybb commented 3 years ago
Event2FurcasTicketCreate              = "kapal.furcas.ticket.create"

event.On("*", &kapal.DefaultNotify)                           // not work
event.On("kapal.furcas.ticket*", &kapal.DefaultNotify)         // not work
event.On(kapal.Event2FurcasTicketReset, &kapal.DefaultNotify) // work

这是最小可复现代码

type test_notify struct {}

var is_Run = false

func (notify *test_notify) Handle(e event.Event) error {
    is_Run = true
    return nil
}

func TestTicketCreate_Handle_1(t *testing.T) {
    TestNotify := test_notify{}
    event.On("*", &TestNotify)
    err, _ := event.Fire("test_notify", event.M{})
    assert.Nil(t, err)
    assert.NotEqual(t, is_Run, true)

    event.On("test_notify", &TestNotify)
    err, _ = event.Fire("test_notify", event.M{})
    assert.Nil(t, err)
    assert.Equal(t, is_Run, true)
}
inhere commented 3 years ago

感谢,修复了。你更新版本试试