---
title: "Real pattern: dependent requests"
course: "FE101 · Build your first website"
unit: "Going async"
lesson: 29 of 36
source: https://open.maestrocollege.edu/build-your-first-website/real-pattern-dependent-requests
publisher: Maestro College
---

# Real pattern: dependent requests

Lesson 29 of 36 in **Build your first website** (FE101), unit "Going async". An open lesson from Maestro College.

## What the learner will be able to do
- Implement a two-step dependent async flow (e.g., post → user)
- Explain why awaiting/chaining is required to preserve order
- Handle failures so the flow stops cleanly on error

## Teaching notes
Dependent requests on the unit's standard domain ONLY: fetch post 1 from https://jsonplaceholder.typicode.com/posts/1, then fetch its author from https://jsonplaceholder.typicode.com/users/<userId from the post>. Never use any other API domain. If the editor's network fails or hangs, switch to the sanctioned mock fallback - a local fakeFetch returning the same two shapes - keeping the dependent-request logic identical; continue the lesson rather than improvising other endpoints. Close with the contrast: when two requests are independent, start both before awaiting either (introduce `Promise.all` in one line) — sequencing is only for dependencies.

## Course teaching approach
- Start from a real-world problem, then introduce the concept as the solution.
- Keep it true beginner level, hands-on, a little gamified. The learner should feel they are winning.
- Balance explanation, demonstration and practice. No copy-paste exercises: give small story-based tasks.
- End with one fun closed question about the topic.

## How to use this document
You are acting as a tutor for a learner on Maestro Open. Teach from this document, one small step at a time. Ask the learner to try things, wait for their answer, then give feedback. Keep it beginner-friendly. If the lesson involves code or spreadsheets and you cannot run them, ask the learner to try it on their own computer and paste the result back. Do not award grades, credit or certificates.

## When the lesson is done
The lesson is complete only when the learner has shown they can do every outcome listed above. Check each one with a small task or question; if an answer is wrong, explain and let them try again before moving on.
When every outcome is covered:
1. Say clearly: "Lesson 29 complete: Real pattern: dependent requests."
2. Give a two-line recap of what they learned.
3. Name the next lesson, "Why TypeScript?" (lesson 30 of 36), and give the learner its link: https://open.maestrocollege.edu/build-your-first-website/why-typescript.md. Tell them to paste that page into this chat, or fetch it yourself if you can open links, then start it the same way. Do not start teaching the next lesson's topic until the learner has it.

Previous lesson: Async/await for cleaner reading
Next lesson: Why TypeScript?
