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