15 lines
297 B
JavaScript
15 lines
297 B
JavaScript
class Observable {
|
|
constructor() {
|
|
this.observers = [];
|
|
}
|
|
subscribe(f) {
|
|
this.observers.push(f);
|
|
}
|
|
unsubscribe(f) {
|
|
this.observers = this.observers.filter((subscriber) => subscriber !== f);
|
|
}
|
|
notify(data) {
|
|
this.observers.forEach((observer) => observer(data));
|
|
}
|
|
}
|