RivoCode

JavaScript Fundamentals · Async JavaScript · Lesson 28 of 48

async/await

Concept

async/await

async and await are modern syntax that make asynchronous code read like regular, top-to-bottom code.

Under the hood it's still Promises — await simply pauses the function until the Promise settles, which is why await can only be used inside a function marked async.

By the end of this lesson
  • Explain the core idea behind async/await.
  • 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
async function name() {
  const result = await somePromise;
}
ExampleRunnable
async function loadData() {
  const data = await Promise.resolve("Loaded!");
  console.log(data);
}
loadData();
Try it Yourself »
try/catch with await
async function loadData() {
  try {
    const data = await Promise.reject("Failed");
  } catch (error) {
    console.log("Caught:", error);
  }
}
loadData();
Note: try/catch works with await exactly like it does with regular synchronous code that might throw.
Self-check before continuing

Without looking at the example, describe what changes when you modify one input in async/await. 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

Convert the Promise from the previous lesson into an async function using await.

Loading editor…

Console

Output will appear here...