Reasoning About Asynchronous JavaScript
This course will help you learn to take advantage of JavaScript's single-threaded nature, as opposed to being caught off guard by it. You'll walk away being able to effortlessly reason about when things execute in JavaScript.
What you'll learn
At the core of concurrent programming is a thorough knowledge of JavaScript's single-threaded execution. In Reasoning About Asynchronous JavaScript, you will learn how to reason effortlessly about when things execute in JavaScript. You will learn how to stop writing code defensively to avoid race conditions, how to write code that doesn't lock up the browser, exploit parallelism, and take advantage of JavaScript's single-threaded nature. When you're finished with this course, you will have a foundational knowledge of concurrent programming in a single-threaded environment that will help you as you move forward in your knowledge of asynchronous JavaScript.
Table of contents
- Intro 1m
- Sources of Async 2m
- Source: User Interactions 5m
- Source: Timers 5m
- Timer Delay Gotchas 7m
- Not Always Async 4m
- Debugging Assumptions 6m
- Debugging with Async Call Stacks 3m
- Source: Disk 2m
- Nodejs nextTick and setImmediate 7m
- Web Workers 9m
- Race Conditions 4m
- Event Listeners Are Synchronous 6m
- What's Next? 5m