Lesson 41/100

Tutorials JavaScript Tutorial

Event Loop — Complete Guide

Event Loop — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of JavaScript Tutorial on Toolliyo Academy.

On this page

JavaScript Tutorial · Lesson 41 of 100

Event Loop

Basics ✓Objects & data ✓Async & DOMAdvancedToolsProjects

Intermediate · 3 — Async & DOM · ~6 min · JS Async JavaScript

What is this?

The event loop is how JavaScript runs async code on one thread: run sync code, drain microtasks, then one macrotask, repeat.

Why should you care?

Explains why promises run before setTimeout(0) and why long loops freeze the page.

See it live — copy this example

Paste into an HTML file or the browser console (F12). Use Run below when the live editor is available.

console.log("1");
setTimeout(() => console.log("2"), 0);
Promise.resolve().then(() => console.log("3"));
console.log("4");

Run Example »

Edit the code below and click Run to see the result in Toolliyo’s live editor.

Code
Result

What happened?

  • Order: 1, 4, 3, 2.
  • Sync first, then microtask (promise), then macrotask (timeout).

Practice next

  1. Predict log order 1,4,3,2 then run the example.
  2. Add another .then in the promise chain.
  3. Insert a long sync loop and feel UI freeze.
  4. Add queueMicrotask between setTimeout and Promise and predict new order.
  5. Nest setTimeout inside a .then and trace two loop turns.

Remember

Single-threaded JS Microtasks before macrotasks Keep tasks small

ScriptVerse loading spinner

After fetch resolves, microtasks update state before the browser paints the spinner off — order matters for flicker-free UI.

Outcome: Event loop knowledge explains race conditions between data arrival and paint.

Interview prep for this lesson

Practice these questions aloud after reading—each links to a full structured answer.

Junior PDF Detailed
What is the event loop in JavaScript?
Short answer: The event loop manages asynchronous operations in JavaScript. It continuously checks the call stack and callback queue — executing queued tasks once the stack is empty. Example code console.log("A&quot…
Junior PDF Detailed
What is the difference between inline-block and block?
Short answer: block elements take full width and start on a new line. inline-block behaves like inline (stays in the same line) but allows setting width, height, margin, and padding. Example code .block { display: block;…
Mid PDF Detailed
Explain the difference between HTML4 and HTML5.
Short answer: HTML5 is the modern evolution of HTML4, introducing better structure, multimedia support, and APIs. Explain a bit more Follow me on LinkedIn: HTML4 mainly focused on document markup, while HTML5 focuses on…
Mid PDF Detailed
Class selector: Targets elements with a class.?
Short answer: .highlight { background: yellow; } .highlight { background: yellow; } .highlight { background: yellow; } .highlight { background: yellow; } .highlight { background: yellow; } .highlight { background: yellow…
Mid PDF Detailed
How does the browser parse and render HTML?
Short answer: When a browser loads a webpage, it goes through these main steps: Real-world example (ShopNest) ShopNest’s browser cart uses modern JavaScript: fetch APIs with async/await, modules, and clear error handling…
Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

JavaScript Tutorial
Course syllabus

JavaScript Tutorial

Tutorial — Basics
Control Flow & Functions
Objects & Collections
Strings, Dates & RegEx
Async JavaScript
HTML DOM & Web APIs
Advanced
Performance & Security
Testing & Tooling
Projects
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details