forked from bleedingcode/nodejs-performance-optimizations
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path4-promise.js
More file actions
22 lines (16 loc) · 649 Bytes
/
4-promise.js
File metadata and controls
22 lines (16 loc) · 649 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const TIMEOUT_MS = 10
console.log('Root Code - START')
setImmediate(() => {
console.log('--Immediate 1')
process.nextTick(() => { console.log('--Next Tick 2') })
})
setTimeout(() => {
Promise.resolve().then(x => { console.log('--Promise 2') })
setTimeout(() => { console.log('--Timeout 3') }, TIMEOUT_MS)
setImmediate(() => { console.log('--Immediate 2') })
process.nextTick(() => { console.log('--Next Tick 3') })
console.log('--Timeout 1')
}, TIMEOUT_MS)
Promise.resolve().then(x => { console.log('--Promise 1') })
process.nextTick(() => { console.log('--Next Tick 1') })
console.log('Root Code - END - Event Loop Takes Over')