Surya JS Journey

Learn JavaScript through concepts, code, and guided practice.

A focused workspace for concept study, interactive examples, visual explanations, and challenge solving.

Concept Playground

Event Loop

JavaScript runs one call stack at a time, but it can still handle asynchronous work by delegating tasks and later placing callbacks into queues. The event loop decides when queued tasks can run. Microtasks, such as resolved promise callbacks, are processed before the next macrotask like `setTimeout`.

Mode

Practice mode

Run code, inspect output, and reset instantly.

Source

Loaded from a concept

Starter code is loaded directly into the editor.

File

event-loop.js

Same code, editable immediately in the browser.

Workspace Flow

1. Edit the snippet

Change the code freely to test ideas and edge cases.

2. Run and inspect

Use the output panel to confirm behavior and catch runtime errors.

3. Reset or continue

Restore the starter or branch into your own experiment.

Practice Workspace

event-loop.js

Edit the code, run it in the browser, and inspect the console output below. Reset restores the original snippet for this page.

Editor

6 lines

Output

0 entries

Mode

practice

Workspace Notes

Changes stay local until you run the code. Reset restores the original snippet immediately for another pass.

Live editing

Safe to change before every run.

Fast reset

Return to the original starter instantly.

event-loop.js
6 linesMonaco Editor
Loading...

Editor Actions

Use the editor to explore the example, then run it to inspect the console.

Console0 entries

Run the code to see output here.

Expected Output

start
end
promise
timeout

Want a blank workspace again? Go back to the default playground.