Synchronous vs Asynchronous Code
AI Using GitHub Copilot in VS Code
This week, you’ll step beyond simple top-to-bottom programs and learn how JavaScript deals with work that cannot finish immediately. Real applications need to talk to servers, read and write files, wait for timers, and react to user input, all without freezing the interface. Asynchronous programming is the set of tools and ideas that makes this possible, and it is a core skill for any JavaScript developer.
Instead of focusing only on syntax, this module is about building a strong mental model. You’ll see how JavaScript schedules work over time, how seemingly “out of order” logs still follow clear rules, and how different approaches to asynchronous code affect the structure and readability of your programs. By the end of the week, you should feel more confident understanding and debugging asynchronous behaviour in real projects, and ready to apply these ideas in the rest of the Core program and beyond.
setTimeout, setInterval) to schedule work and avoid blocking the main thread.pending, fulfilled, rejected).then, catch, and finally, including basic promise chains.fs/promises, and handle errors from file operations.GET and POST requests, parse JSON responses, and handle HTTP errors correctly.async / await and try / catch, and explain how async functions relate to promises.Promise.all() (with or without async / await) to run multiple asynchronous operations in parallel and work with all results together.
Found a mistake or have a suggestion? Let us know in the feedback form.