How the JavaScript event loop works: call stack, task and microtask queues, setTimeout(0), Promises, async/await and the Node.js phases, with diagrams.JavaScript Event Loop Explained: Microtasks, Tasks and Node2012-08-18 in JavaScript tagged JavaScript / Node / Concurrency by Marc Nuri