Aync/await is the best thing since sliced bread. It has made my life so much easier.
https://github.com/utilise/emitterify/issues/1#issuecomment-...
The way it is now, I defensively await things all over the place. What's worse, it propagates. If any of your function's dependencies are async, your function will also have to be async (or be ok with continuing operation after it's returned) and it turtles all the way down.
It is nicer than having to deal with promises directly though, there is that.
But it still beats promises or callback hell.....
JS async produces Promises like C# produces Task, so you can call an async function and use the result as a Promise.
And then() hell ...