RivoCode

JavaScript Fundamentals · Async JavaScript · Lesson 26 of 48

Callbacks and setTimeout

Concept

Callbacks and setTimeout

JavaScript can schedule code to run later without blocking everything else, and setTimeout is the simplest example.

This non-blocking behavior is what lets a web page stay responsive to clicks and scrolling even while something slow, like a network request, is still in progress.

By the end of this lesson
  • Explain the core idea behind Callbacks and setTimeout.
  • Predict output before running a change.
  • Test one realistic and one unusual input.
  • Use the result to make the next decision.
How to study this page
  1. 1. Read one concept.
  2. 2. Change the example.
  3. 3. Run, compare, and explain.
  4. 4. Complete the challenge below.
Syntax
setTimeout(callbackFunction, delayInMilliseconds);
ExampleRunnable
console.log("Start");
setTimeout(() => console.log("This runs later"), 1000);
console.log("End");
Try it Yourself »
Repeating with setInterval
let count = 0;
const id = setInterval(() => {
  count++;
  console.log(count);
  if (count === 3) clearInterval(id);
}, 1000);
Note: clearInterval stops a repeating setInterval — without it, the callback would keep firing forever.
Self-check before continuing

Without looking at the example, describe what changes when you modify one input in Callbacks and setTimeout. Then reopen the editor and prove your explanation with a small test.

You are ready to continue when you can predict, test, and explain the result.

Your turn

Predict the console output order before running the code above.

Loading editor…

Console

Output will appear here...