Async / await is nice syntactic sugar. I don't understand why they copied the naming from c# over do syntax in Haskell (which dates roughly 1995, if I'm not mistaken).
The main problem is error handling, having to use try / catch is pure cancer and really screw up your closure.
You can use catch together with await / async but then you're not dealing with exceptions outside the promises.
The main problem is error handling, having to use try / catch is pure cancer and really screw up your closure. You can use catch together with await / async but then you're not dealing with exceptions outside the promises.