You don't need to read thousands of articles about the event loop. If you ever forget how event loop works, run this example and you will see the order of events.
just clone the repo:
git clone https://github.com/sandrosxila/event-loop-mnemonic/
cd event-loop-mnemonicand run the code:
npm startinit
(Next-Tick, Micro-Task) next tick, event loop cycle: 1, step: 1
(Promise, Micro-Task) promise
(Timer-Event) timeout
(Next-Tick, Micro-Task) timeout next tick, event loop cycle: 1, step: 2
(Promise, Micro-Task) promise nested
(I/O - Event) file doesn't exist
(Next-Tick, Micro-Task) false file read next tick , event loop cycle: 1, step: 3
(Immediate-Event) immediate
(Next-Tick, Micro-Task) immediate next tick , event loop cycle: 2, step: 1
(Immediate-Event) immediate nested
(Next-Tick, Micro-Task) immediate nested next tick, event loop cycle: 3, step: 1
(Immediate-Event)
(Timer-Event) timeout nested
(Next-Tick, Micro-Task) next tick nested 2, event loop cycle: 4, step: 1
(Immediate-Event) immediate nested 2
(Next-Tick, Micro-Task) immediate nested 2 next tick, event loop cycle: 5, step: 1
(I/O - Event) Text from the file: text.txt
(Next-Tick, Micro-Task) file read next tick, event loop cycle: 5, step: 2
(Immediate-Event)
(Timer-Event) timeout nested 2
(Next-Tick, Micro-Task) timeout nested 2 next tick, event loop cycle: 6, step: 1
(Immediate-Event)

