-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Expand file tree
/
Copy pathevent.js
More file actions
58 lines (43 loc) · 1.51 KB
/
event.js
File metadata and controls
58 lines (43 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
const fs = require("fs");
const crypto = require("crypto");
const start = Date.now();
process.env.UV_THREADPOOL_SIZE = 4;
setTimeout(() => console.log("Timer 1 finished"), 0);
setImmediate(() => console.log("Immediate 1 finished"));
console.log("Hello from the top-level code");
fs.readFile("style.css", () => {
console.log("I/O finished");
console.log("--------------------");
setTimeout(() => console.log("Timer 2 finished"), 0);
setTimeout(() => console.log("Timer 3 finished"), 3000);
setImmediate(() => console.log("Immediate 2 finished"));
process.nextTick(() => console.log("Process.nextTick"));
crypto.pbkdf2Sync("password", "salt", 100000, 1024, "sha512");
console.log(`${Date.now() - start} - Password encrypted`);
crypto.pbkdf2("password", "salt", 100000, 1024, "sha512", () => {
console.log(`${Date.now() - start} - Password encrypted`);
});
crypto.pbkdf2("password", "salt", 100000, 1024, "sha512", () => {
console.log(`${Date.now() - start} - Password encrypted`);
});
});
//////////////////////////////
const EventEmitter = require("events");
const http = require("http");
// Custom EventEmitter class
class Sales extends EventEmitter {
constructor() {
super();
}
}
const myEmitter = new EventEmitter();
myEmitter.on("newSales", () => {
console.log("There was a sale");
});
myEmitter.on("newSales", () => {
console.log("Customer");
});
myEmitter.on("newSales", (stock) => {
console.log(`There are now ${stock} items left in stock.`);
});
myEmitter.emit("newSales", 9);