mirror of
https://github.com/gookit/event
synced 2025-12-24 10:30:50 +08:00
style: update readme
This commit is contained in:
38
README.md
38
README.md
@@ -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
|
||||
|
||||
@@ -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` 监听器.
|
||||
|
||||
## 编写事件监听
|
||||
|
||||
### 使用匿名函数
|
||||
|
||||
Reference in New Issue
Block a user