From d0124d1da4aafd20e8348e5a799ca8988e7a8779 Mon Sep 17 00:00:00 2001 From: sealday Date: Mon, 8 Jul 2024 16:19:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20pubsub.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pubsub.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 pubsub.js diff --git a/pubsub.js b/pubsub.js new file mode 100644 index 0000000..6e43af7 --- /dev/null +++ b/pubsub.js @@ -0,0 +1,36 @@ +class SimplePubSub { + subscribe(event, listener) { + + } + unsubscribe(event, listener) { + + } + publish(event, data) { + + } +} + +// 创建 PubSub 实例 +const pubSub = new SimplePubSub(); + +// 定义订阅者 +const subscriber1 = (data) => { + console.log(`Subscriber 1 received: ${data}`); +}; + +const subscriber2 = (data) => { + console.log(`Subscriber 2 received: ${data}`); +}; + +// 订阅事件 +pubSub.subscribe('event1', subscriber1); +pubSub.subscribe('event1', subscriber2); + +// 发布事件 +pubSub.publish('event1', 'Hello, World!'); + +// 取消订阅 +pubSub.unsubscribe('event1', subscriber1); + +// 发布事件 +pubSub.publish('event1', 'Hello again!'); \ No newline at end of file