🔑The async keyword on a function is a transformation directive to the compiler, indicating that the function returns a future.
🔑Async blocks execute in chunks and only make progress when awaited. They yield to let other code run.
🔑Awaiting a future means waiting for it to complete before continuing execution.
🔑Async await provides a more intuitive way to write asynchronous code, making it easier to reason about and maintain.
🔑Understanding how to effectively use async await is crucial for writing efficient and scalable Rust programs.