forEach with async was my bug
One sentence about forEach not waiting fixed a bug I had been chasing for a day.
Browse
A free, focused course on the event loop, promises, async functions, fetch, cancellation and error handling, with runnable examples
Created by Tomas Lindqvist
Asynchronous code is where many JavaScript developers lose confidence. Callbacks that run in an unexpected order, promises that never resolve, errors that vanish without a trace, and race conditions when users click faster than the network responds. These problems are not mysterious once you understand a few core ideas.
This free course explains asynchronous JavaScript from the ground up. We start with the event loop in plain words, then build up to promises, async functions, fetch, cancellation, retries and running tasks with limited concurrency.
Each lesson has small examples you can run in the browser console or with Node.js. Several lessons show the same task written three ways, with callbacks, promise chains and async await, so you can read older code as well as write modern code.
You should already know JavaScript basics: functions, arrays, objects and arrow functions.
JavaScript and TypeScript teacher focused on fundamentals that last longer than frameworks
I have written JavaScript for browsers and servers for a long time, and I still think the language itself is the best investment a web developer can make. Frameworks change every few years. Closures, the event loop and a good type system do not.
I teach in small steps with lots of short exercises. Every lesson ends with something you can run in the browser console or in Node, so you never have to take my word for it.
When I am not recording, I maintain internal tooling and libraries written in TypeScript, and I spend more time than I should reading the ECMAScript proposals list.
One sentence about forEach not waiting fixed a bug I had been chasing for a day.
Predicting the order of logs before running them was a brilliant exercise. I use the mental model every day now.
The search box lesson described a bug we had in production for months. Aborting stale requests fixed it.
Very clear explanations. The streams lesson was a bit quick but still useful.
I always confused the combinators. The realistic examples made each one stick.
The retry helper is now in our codebase. I would like more on Node.js specifically.
The first lessons repeat things I knew, but the later sections were worth the time.
So many loading state bugs come down to the ideas in this course. Clear and practical.