添加 pubsub.ts
This commit is contained in:
commit
b8acd0a3e4
30
pubsub.ts
Normal file
30
pubsub.ts
Normal file
@ -0,0 +1,30 @@
|
||||
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!');
|
Loading…
Reference in New Issue
Block a user