style: update readme

This commit is contained in:
Inhere
2022-04-15 00:15:45 +08:00
parent f8c73c0465
commit 3e31336453
2 changed files with 73 additions and 0 deletions

View File

@@ -66,6 +66,42 @@ func main() {
}
```
> Note: The second listener has a higher priority, so it will be executed first.
### Using the wildcard
Register event listener and name end with wildcard `*`:
```go
func main() {
dbListener1 := event.ListenerFunc(func(e event.Event) error {
fmt.Printf("handle event: %s\n", e.Name())
return nil
})
event.On("app.db.*", dbListener1, event.Normal)
}
```
Trigger events on other logic:
```go
func doCreate() {
// do something ...
// Trigger event
event.MustFire("app.db.create", event.M{"arg0": "val0", "arg1": "val1"})
}
func doUpdate() {
// do something ...
// Trigger event
event.MustFire("app.db.update", event.M{"arg0": "val0"})
}
```
Like the above, triggering the `app.db.create` `app.db.update` event
will trigger the execution of the `dbListener1` listener.
## Write event listeners
### Using anonymous functions
@@ -226,6 +262,8 @@ event.Fire("e1", nil)
// event.FireEvent(e)
```
## Gookit packages
- [gookit/ini](https://github.com/gookit/ini) Go config management, use INI files

View File

@@ -66,6 +66,41 @@ func main() {
}
```
> Note: 注意:第二个监听器的优先级更高,所以它会先被执行
### 使用通配符
注册事件监听器和名称以通配符`*`结尾:
```go
func main() {
dbListener1 := event.ListenerFunc(func(e event.Event) error {
fmt.Printf("handle event: %s\n", e.Name())
return nil
})
event.On("app.db.*", dbListener1, event.Normal)
}
```
在其他逻辑上触发事件:
```go
func doCreate() {
// do something ...
// Trigger event
event.MustFire("app.db.create", event.M{"arg0": "val0", "arg1": "val1"})
}
func doUpdate() {
// do something ...
// Trigger event
event.MustFire("app.db.update", event.M{"arg0": "val0"})
}
```
像上面这样,触发 `app.db.create` `app.db.update` 事件,都会触发执行 `dbListener1` 监听器.
## 编写事件监听
### 使用匿名函数