Files
EdgeAPI/internal/events/utils.go

28 lines
507 B
Go
Raw Normal View History

package events
import "sync"
var eventsMap = map[string][]func(){} // event => []callbacks
var locker = sync.Mutex{}
2021-12-14 12:44:57 +08:00
// On 增加事件回调
func On(event string, callback func()) {
locker.Lock()
defer locker.Unlock()
2023-08-08 16:46:17 +08:00
var callbacks = eventsMap[event]
callbacks = append(callbacks, callback)
eventsMap[event] = callbacks
}
2021-12-14 12:44:57 +08:00
// Notify 通知事件
func Notify(event string) {
locker.Lock()
2023-08-08 16:46:17 +08:00
var callbacks = eventsMap[event]
locker.Unlock()
2023-08-08 16:46:17 +08:00
for _, callback := range callbacks {
callback()
}
}