Event - A simple event emitter for Go
This project was inspired by the emission package. Instead of passing strings as event keys, I prefer to have one struct per event.
Sample
package main
import (
"fmt"
"github.com/desertbit/event"
)
func main() {
e := event.New()
e.On(onEvent)
e.Once(onceEvent)
e.TriggerWait("Hello World", 1)
e.TriggerWait("Hello World", 2)
e.Off(onEvent)
e.TriggerWait("Hello World", 3)
}
func onEvent(s string, i int) {
fmt.Println("on:", s, i)
}
func onceEvent(s string, i int) {
fmt.Println("once:", s, i)
}