We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent a1fca7c commit 42f8fbaCopy full SHA for 42f8fba
03-callbacks-and-events/ticker.fix.mjs
@@ -0,0 +1,38 @@
1
+import { EventEmitter } from 'events';
2
+
3
+/**
4
+ * @param {number} number
5
+ * @param {(n:number)=>any} callback
6
+ */
7
+function ticker(
8
+ number,
9
+ callback
10
+) {
11
+ const emitter = new EventEmitter();
12
+ let tick_count = 0;
13
14
+ let ticker50 = () => {
15
+ setTimeout(() => {
16
+ if (ticker50 !== null) {
17
+ emitter.emit('tick');
18
+ tick_count++;
19
+ ticker50();
20
+ }
21
+ }, 50);
22
+ };
23
24
25
+ ticker50 = null;
26
+ callback(tick_count);
27
+ }, number);
28
29
30
31
+ return emitter;
32
+};
33
34
+const runningTicker = ticker(1000, (tick_count) => {
35
+ console.log(tick_count);
36
+});
37
38
+runningTicker.on('tick', () => console.log('tick'));
0 commit comments