添加 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