interface PubSub { subscribe(event: string, listener: (data: any) => void): void; unsubscribe(event: string, listener: (data: any) => void): void; publish(event: string, data: any): void; } // 创建 PubSub 实例 const pubSub = new SimplePubSub(); // 定义订阅者 const subscriber1 = (data: any) => { console.log(`Subscriber 1 received: ${data}`); }; const subscriber2 = (data: any) => { 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!');