I'm not a beliver, so I may be missing something important...
As far as I can see, await makes it possible to do things like:
- UI Thread starts Thread X to do something slow;
- Thread X is processing, in the meantime the user clicks on something that requires X's result;
- Only now the UI thread stops, waiting for X.
Your program stay responsive, unless it's completely not able to do so.
As I said, I still don't think it's a so important feature. It is quite rare that one needs such kind of coordination in UI programs, and there are better mechanisms for no-interactive software (that optimize for throughput, not responsiveness)... As a second thought, it may be very relevant for games, I don't know.
I also don't get why the node.js people consider it so important to have concurrence at a web server. For me, it only makes sense for sites that have less concurrent requests than server cores, AKA: nobody.