Writing Modern Async JavaScript

From raw callbacks to promises to async/await, everything you need to master async JS code with ease!
Part 1: raw callbacks
Intro, definition & optional asynchrony
5 mins
Examples of async APIs
2 mins
Pitfalls: Run-To-Completion & execution order
3 mins
Pitfalls: Exception propagation
2 mins
Pitfalls: Zalgo
5 mins
Pitfalls: late registration, missed calls and extraneous calls
3 mins
Sequencing callbacks
10 mins
Node-style callbacks
4 mins
Pitfalls inherent to Node-style callbacks
4 mins
Limitations inherent to callbacks
3 mins
Grouping and racing callbacks
5 mins
Debugging async code
11 mins
Outro part 1
1 min
Part 2: promises
Intro and reminders on callback pitfalls
3 mins
Promises: an old concept
3 mins
Promises in the JS ecosystem and their native/emulated availability
4 mins
NOT just another way to write callbacks
1 min
Terminology and principles
7 mins
Promise-based APIs
8 mins
NOT replaced by async/await
1 min
Consuming a promise with .then()
9 mins
What about exceptions?
7 mins
Creating a promise
6 mins
Parallelizing promises
7 mins
Sequencing promises
2 mins
Timeouts, cancellation and future combinators
10 mins
Dedicated ESLint rules
4 mins
“Choose your poison” API design: callbacks + promises
6 mins
Outro part 2
2 mins
Part 3: async/await
Intro and definitions
3 mins
Tons of benefits
6 mins
What is an async function?
4 mins
How await behaves
6 mins
More examples
6 mins
Anti-patterns
9 mins
Dedicated ESLint rules
2 mins
for…await…of and async iterators
8 mins
Outro part 3
2 mins