Async-std: an async port of the Rust standard library
I must be dumb, because every time I dive into async/await, I feel like I reach an epiphany about how it works, and how to use it.  Then a week later I read about it again and totally lost all understanding.<p>What do I gain if I have code like this [0], which has a bunch of `.await?` in sequence?<p>I know .await != join_thread(), but doesn't execution of the current scope of code halt while it waits for the future we are `.await`-ing to complete?<p>I know this allows the executor to go poll other futures.  But if we haven't explicitly spawned more futures concurrently, via something like task::spawn() or thread::spawn(), then there's nothing else the cpu can possible do in our process?<p>[0] <a href="https://github.com/async-rs/async-std/blob/master/examples/tcp-client.rs" rel="nofollow">https://github.com/async-rs/async-std/blob/master/examples/t...</a>