Handle time and the network: promises, async and await, JSON, fetch, and requests that fail.
Every program you have written so far ran straight down the page and finished. Real programs do not get that luxury. They ask a server for something and wait, and while they wait the rest of the world has to keep moving. This course is about that waiting: what it costs, how JavaScript handles it, and how to write code that waits without falling over.
One idea carries the whole course: a promise is a value that is not there yet. Once you can hold one, `await` is simply how you stop and collect it, and everything after that is what to do when collecting goes wrong or when you need several answers at once. You will meet callbacks first, feel exactly why they stopped being good enough, and then watch promises and `await` fix the problem in front of you.
Everything happens on the Departure Board, a station screen whose data arrives over time and sometimes does not arrive at all. You ship four programs from it: a delay reporter that survives a failure, a live board that fetches and reads real responses, a refresh that asks for everything at once, and the Departure Board capstone, which fetches, parses, retries, and reports as one machine. Your code is real; only the network is stubbed, so the answers stay reproducible.
53 Lessons • 58 Practices • 18 Quizzes • 4 Projects · ~11h Total
Not just theory. You finish this course with real work to show.
This is the same in-browser editor every lesson uses. Edit the code, hit Run.
Run code in the browser and see the result immediately. Every lesson works this way.
Stuck? Puff explains the error and nudges you forward, without giving the answer away.
Streaks, diamonds, and certificates. Your progress saves automatically, forever.
Every completed course issues a certificate with a public verification link.
Every certificate has a public verification link employers can check.
One certificate per course. Finish a program and earn its program certificate too.
LinkedIn-ready, with a PDF you can download and attach.
You can shape data. This is the half of the language that deals with data you do not have yet.
Every real component fetches something. This is the loop React wraps, learned before the framework is also in the way.
If you have ever logged a value and got undefined for no reason, this course is the explanation.
Async JavaScript is free to start, no credit card needed. Some later sections are part of Pro, and finishing every section, including the certificate, needs a Pro plan.
Yes, or its ground: arrow functions, callbacks, array methods, destructuring, and try and catch. This course spends all of them from item one and never re-teaches them.
No, and that is a deliberate choice rather than a shortcut. A live server can change its answer, go down, or rate-limit you, and an exercise that grades your work has to be reproducible. So the requests are answered locally by a stand-in. Everything you write is real: real fetch calls, real Response objects, real status codes. Only the network hop is replaced, and the course says so out loud when it happens.
No. Everything runs in your browser on Devpuff: write JavaScript in the editor, press Run, and the console answers.
Four programs from one station board: a delay reporter that survives a failed request, a live board that fetches and reads responses, a refresh that runs several requests at once, and the Departure Board capstone that does all of it together.
Yes, genuinely. React components fetch data on almost every screen, and the loading and error states you will model here are the ones React asks you to hold in state. Learning both at once means learning neither.
Yes. Finish every item in Async JavaScript and Devpuff issues a course certificate with a public link that anyone can verify.
How this course connects to the bigger picture, and what to explore next.
Git from zero: commit, branch, merge, undo, and tag real repositories in a live terminal.
Data structures and algorithms in JavaScript: Big O, stacks, queues, linked lists, searching, and sorting.
Write real web pages by hand: document structure, text, links, lists, images, semantic HTML, and forms.
Free to start, no credit card required. Write real code from the first lesson and keep your progress forever.
Start Learning Free