Skip to main content

实现一个发布订阅模式

// 发布者
class Publisher {
constructor() {
this.subscribers = []; // 初始化订阅者队列
}

// 添加订阅
subscribe(subscriber) {
this.subscribers.push(subscriber); // 添加订阅
}

// 移除订阅
delsubscribe(subscriber) {
this.subscribers.filter(sub => sub !== subscriber); // 移除订阅
}

// 发布消息
publish(message) {
this.subscribers.forEach(sub => {
sub.update(message)
})
}
}

// 订阅者
class Subscriber {
constructor(name) {
this.name = name;
}
update(message) {
console.log(`${this.name} recived message ${message}`)
}
}