Skip to content

Commit 925df59

Browse files
committed
3.2
1 parent f71fe5f commit 925df59

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

03-callbacks-and-events/ticker.mjs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { EventEmitter } from 'events';
2+
3+
/**
4+
*
5+
* @param {number} number
6+
* @param {(n:number)=>any} callback
7+
*/
8+
function ticker(number, callback) {
9+
const emitter = new EventEmitter();
10+
let tick_count = 0;
11+
12+
setTimeout(() => callback(tick_count), number);
13+
14+
const ticker50 = () => {
15+
setTimeout(() => {
16+
emitter.emit('tick');
17+
tick_count++;
18+
ticker50();
19+
}, 50);
20+
};
21+
22+
ticker50();
23+
24+
return emitter;
25+
}
26+
27+
const runningTicker = ticker(1000, (tick_count) => {
28+
console.log(tick_count);
29+
});
30+
31+
runningTicker.on('tick', () => console.log('tick'));

0 commit comments

Comments
 (0)