Stumbled upon this post that talks about making async web requests.
Now simplicity aside, if in real world, all you do is make an async request and wait for it in the very next line, isn't that the same as making a sync call in the first place?
For example async execution will not block UI thread, and
No it's not the same.
In contrast, a synchronous call would make your entire application or thread wait until the code finished executing to continue on with anything else.
Please allow me to clarify things in regards to async/await.
When await is encountered the underlying state machine allows control to be returned immediately. Then, when the awaited call is completed, the underlying state machine allows execution to resume at the line after the awaited call.
Therefore, the async block is not blocked nor is it waiting for the awaited call to finish; Control is returned immediately when the await command is encountered.
The underlying state machine is part of the "magic" behind the use of async/await that is not disused and missed.