go get github.com/codemodify/systemkit-eventsOn(event, handler, callOnce) |
Subscribe |
OnWithData(event, handler, callOnce) |
Subscribe with payload |
Off(event, handlerRef) |
Unsubscribe |
OffWithData(event, handlerRef) |
Unsubscribe with payload |
Emit(event) |
Emit |
EmitWithData(event, data) |
Emit with payload |
package main
import (
events "github.com/codemodify/systemkit-events"
)
func main() {
events.Events().On("PING", func() {
// FIMXE: will be called
})
events.Events().Emit("PING")
}package main
import (
events "github.com/codemodify/systemkit-events"
)
func main() {
events.Events().OnWithData("PING", func(data []byte) {
// FIMXE: will be called
})
events.Events().EmitWithData("PING", []byte("PING-DATA"))
}package main
import (
events "github.com/codemodify/systemkit-events"
)
func main() {
events.Events().OnWithData("PING", func(data []byte) {
// FIMXE: will be called
})
events.Events().On("PING", func() {
// FIMXE: will be called
})
events.Events().EmitWithData("PING", []byte("PING-DATA"))
}package main
import (
events "github.com/codemodify/systemkit-events"
)
func main() {
events.Events().OnWithData("PING", func(data []byte) {
// FIMXE: will be called, data will be nil
})
events.Events().On("PING", func() {
// FIMXE: will be called
})
events.Events().Emit("PING")
}package main
import (
events "github.com/codemodify/systemkit-events"
)
func main() {
handler1CallOnce := true
events.Events().On("PING", func() {
// FIMXE: will be called ONCE
}, handler1CallOnce)
handler3CallOnce := false
events.Events().On("PING", func() {
// FIMXE: will be called UNTIL "events.Events().Off()" is called
}, handler3CallOnce)
events.Events().Emit("PING")
}