-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy path98.js
28 lines (25 loc) · 824 Bytes
/
98.js
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
const microMacro = () => {
function logA() { console.log('A') };
function logB() { console.log('B') };
function logC() { console.log('C') };
function logD() { console.log('D') };
function logE() { console.log('E') };
function logF() { console.log('F') };
function logG() { console.log('G') };
function logH() { console.log('H') };
function logI() { console.log('I') };
function logJ() { console.log('J') };
logA();
setTimeout(logG, 0); // Macrotask
Promise.resolve() // Microtask, se resolverá primero que setTimeout
.then(logC)
.then(setTimeout(logH))
.then(logD)
.then(logE)
.then(logF);
setTimeout(logI); // Macrotask 2
setTimeout(logJ); // Macrotask 3
logB(); // Sincrono. Se resolvera antes que todas las instrucciones anteriores de promise y timeout
}
console.log(microMacro());
// A B C D E F G H I J