JavaScript, in particular Node.js, has been frequently associated with callback hell. If you've written code that deals with a lot async I/O, you're probably familiar with this pattern:
...
It turns out, this code can be much easier and safer to write.
I'll show you how Promise combined with async / await enables this, but also some of the lessons we've learned from using these new features in production.