Skip to main content

Command Palette

Search for a command to run...

Callbacks in JavaScript: Why They Exist

Updated
2 min read
Callbacks in JavaScript: Why They Exist

Imagine you ask your mom to bake a cake. You don't want to stand in the kitchen staring at the oven for an hour, right? You want to go play outside!

You tell her: "Mom, start baking the cake, and when it's finished, yell 'CAKE IS READY!' so I can come eat it."

That "Yelling" part is a Callback.

1. What is a Callback?

In JavaScript, functions are like toys—you can pass them to other people. A callback is just a function that you give to another function to run later.

The Rule: "Don't call me, I'll call you!" Diagram 1: Simple Callback Flow

2. Why do we need them? (Async Magic)

Sometimes tasks take time, like downloading a picture or waiting for a timer. JavaScript doesn't like to wait around. It wants to keep moving!

Callbacks let JavaScript start a long task, move on to other things, and then come back to finish the job when it's actually ready.

// Start a 3-second timer setTimeout(() => {   console.log("Ding! Pizza is done!"); }, 3000); // 3000ms = 3 seconds

3. The Problem: "Callback Hell"

Callbacks are great, but if you have too many "Wait for this, then that, then that," your code starts to look like a messy staircase. This is called Nesting.

Key Takeaway: Callbacks help us handle tasks that take time without freezing the whole computer. Just don't nest them too deep, or your code will become a confusing maze!