We may earn an affiliate commission when you visit our partners.

Async/Await

Save
May 1, 2024 Updated June 4, 2025 26 minute read

Async/Await: A Modern Approach to Asynchronous Programming

Path to Async/Await

Take the first step.
We've curated 17 courses to help you on your path to Async/Await. Use these to develop your skills, build background knowledge, and put what you learn to practice.
Sorted from most relevant to least relevant:

Share

Help others find this page about Async/Await: by sharing it with your friends and followers:

Reading list

We've selected 29 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Async/Await.
This is the official guide to asynchronous programming in Rust provided by the Rust project. It's an invaluable resource for anyone learning or working with async Rust. It covers the basics of async/await, futures, and executors, and delves into more advanced topics. As an official resource, it's always up-to-date with the latest features and best practices in the Rust ecosystem. It's a must-read for Rust developers interested in async programming.
Authored by a recognized expert in C# concurrency, this book dives deep into multithreading and asynchronous programming, with a strong emphasis on the async/await feature. It aims to demystify async/await and guide developers in writing efficient, reliable, and bug-free concurrent applications in C#. The book covers avoiding common pitfalls and addresses classic multithreading issues, making it suitable for those wanting to solidify their understanding.
Practical guide to asynchronous programming in .NET, written by one of the leading experts in the field.
Practical guide to asynchronous, parallel, and concurrent programming in Python using the asyncio library. It breaks down complex concurrency topics with clear examples and flowcharts. It's highly relevant for understanding async/await within the Python ecosystem and how it can be used to improve performance in various applications, including web services and microservices. This good resource for intermediate Python developers looking to leverage asyncio.
Serves as an excellent reference for C# developers looking to understand and apply asynchronous and parallel programming techniques, including async/await. It offers a recipe-based approach to common concurrency problems, making it practical for developers to quickly find solutions. While not solely focused on async/await, it provides essential context within the broader landscape of concurrent programming in .NET. This valuable resource for both learning and referencing best practices.
Offers a thorough exploration of asynchronous programming concepts specifically for Rust developers. It covers futures, green threads, and runtimes with practical examples. It's highly relevant for understanding how async/await is implemented and used in Rust, a language known for its strong focus on performance and safety. This book is suitable for developers with some Rust experience looking to master asynchronous patterns in Rust.
Focused specifically on Python's asyncio, this book helps developers understand the building blocks of event-based programming with asyncio. It clarifies which parts of the API are most relevant for end-users and provides practical examples to get started. While it might be considered an introductory text, it's effective in quickly bringing a Python developer up to speed on using asyncio for common asynchronous tasks.
This comprehensive reference book on JavaScript includes detailed coverage of asynchronous programming patterns, including promises and async/await. It's a valuable resource for understanding the intricacies of async/await in JavaScript and its place within the broader language features. While it can be dense, it serves as an excellent reference for in-depth understanding.
Provides a comprehensive overview of asynchronous programming in C#, covering both the theoretical concepts and practical implementation details.
This comprehensive book on idiomatic Python includes excellent chapters on concurrency, covering different approaches including asyncio. While not solely dedicated to async/await, its coverage within the broader context of Python programming is highly valuable. It's a must-read for any serious Python developer and provides a solid foundation for understanding asynchronous patterns in Python effectively.
Provides a comprehensive overview of asynchronous programming in Python, covering both the theoretical concepts and practical implementation details.
Provides a practical introduction to asynchronous programming in Python, with a focus on practical examples and code snippets.
Provides a comprehensive overview of asynchronous programming in R, covering both the theoretical concepts and practical implementation details.
Explores how to use TypeScript to build scalable JavaScript applications. It will undoubtedly cover how to effectively use asynchronous patterns, including async/await, within a typed TypeScript codebase. It's a valuable resource for understanding the benefits and techniques of applying TypeScript to asynchronous JavaScript development.
While focusing on Go, this book provides a practical introduction to concurrent programming, covering concepts that are foundational to understanding asynchronous patterns like async/await in various languages. It uses Go's concurrency tools to demonstrate principles and techniques. is useful for gaining a broader perspective on concurrency beyond a single language and understanding the underlying concepts that power async/await.
A widely respected book for learning JavaScript programming. It includes a section on asynchronous programming, covering callbacks, promises, and async functions (async/await). It provides a solid conceptual understanding of asynchronicity in JavaScript and how async/await simplifies working with promises. is excellent for gaining a firm grasp of the fundamentals of asynchronous JavaScript.
Focuses on learning TypeScript through practical lessons. Given that TypeScript typed superset of JavaScript, it will cover asynchronous programming with async/await in a typed context. This book is particularly relevant for developers working with TypeScript and wanting to understand how async/await integrates with TypeScript's type system for more robust asynchronous code.
Covers various aspects of concurrency in Python, including asynchronous programming, multithreading, and multiprocessing. It's relevant for understanding async/await as one approach within the broader landscape of concurrent programming in Python. It aims to help developers write faster programs by leveraging concurrency.
Focuses on Go's approach to concurrency, which is based on goroutines and channels. While Go doesn't have `async/await` in the same form as other languages, understanding its concurrency model provides valuable insights into different ways of handling concurrent tasks. This book is beneficial for developers interested in comparing different concurrency paradigms and deepening their understanding of the fundamental challenges async/await aims to address.
Considered a classic in the field of concurrent programming, this book focuses on concurrency in Java. While the language and specific APIs differ from those using async/await, the fundamental principles and challenges of concurrent programming discussed are highly relevant. It provides deep insights into building correct and efficient concurrent applications and the types of problems async/await aims to simplify in other languages.
Delves into practical Rust programming, including its approach to asynchronous operations. While not exclusively focused on async/await, it provides valuable insights into how asynchronous patterns are implemented and used effectively in real-world Rust projects. It's suitable for those looking to see async/await in the context of larger systems.
Focuses on optimizing Python code for performance and includes chapters on concurrency and parallelism, which are related to asynchronous programming. While not solely about async/await, it provides valuable context on when and why to use asynchronous techniques for performance gains in Python. It's a good resource for developers looking to apply async/await in performance-critical Python applications.
Table of Contents
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser