goemitter/goemitter_test/main.go

35 lines
565 B
Go
Raw Normal View History

2023-11-29 23:48:57 +08:00
package main
import (
"fmt"
emitter "git.pyer.club/kingecg/goemitter"
)
type St struct {
Name string
}
func (s *St) Print(data ...interface{}) {
fmt.Println(s.Name)
fmt.Println(data...)
}
func main() {
s := &St{Name: "testeer"}
em := emitter.NewEmitter()
em.On("test", func(data ...interface{}) {
fmt.Println(data...)
})
em.On("test", s.Print)
em.Once("test", func(data ...interface{}) {
s := fmt.Sprint(data...)
fmt.Println(interface{}("Once"), s)
})
em.EmitSync("test", "hello", "world")
em.Emit("test", "hello", "world2")
select {}
}