Skip to content

Commit 71b1869

Browse files
authored
Create Observer.js
1 parent f3a64c0 commit 71b1869

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

patterns/observer_pattern/Observer.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Observer {
2+
constructor() {
3+
this.observers = [];
4+
}
5+
subscribe(fn) {
6+
this.observers.push(fn);
7+
}
8+
unsubscribe(fn) {
9+
this.observers = this.observers.filter(
10+
(observer) => observer !== fn
11+
);
12+
}
13+
notify(data) {
14+
this.observers.forEach((observer) => observer(data));
15+
}
16+
}

0 commit comments

Comments
 (0)