From 3e313364530b5f52df0f368cf95633c25d79e1b2 Mon Sep 17 00:00:00 2001 From: Inhere Date: Fri, 15 Apr 2022 00:15:45 +0800 Subject: [PATCH] style: update readme --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ README.zh-CN.md | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/README.md b/README.md index 7a71f40..db3b88f 100644 --- a/README.md +++ b/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 diff --git a/README.zh-CN.md b/README.zh-CN.md index 9c57f59..57a1db4 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -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` 监听器. + ## 编写事件监听 ### 使用匿名函数