观察者模式基本实现 Observer Pattern
观察者模式的基本实现, 原理性代码
class Producer {
constructor() {
this.listeners = [];
}
add(listener) {
if (typeof listener === "function") {
this.listeners.push(listener);
} else {
throw new Error("listener 必須是 function");
}
}
remove(listener) {
this.listeners.splice(this.listeners.indexOf(listener), 1);
}
notify(message) {
this.listeners.forEach((listener) => {
listener(message);
});
}
}