When building applications in Node/Express you will quickly come to realize that everything is done asynchronously . But how you accomplish these tasks async can vary. The 'old school' way was to use call backs, which often led to callback hell. Than came along Promises which we thought was going to solve all the worlds problems, turned out they helped, but did not solve everything. Finally in Node 8.0 (ok, you could use them in Node 7.6) the support for async/await was introduced and this really has cleaned up and enhanced the readability of your code.