ES-2015 Promises and Express router functions
Before we get into developing our application, we have another new ES-2015 feature to discuss—the Promise
class. Promise objects are used for deferred and asynchronous computation. A Promise
class represents an operation that hasn't completed yet, but is expected to be completed in the future.
In Chapter 1, About Node.js, we briefly discussed the
Promise
class while discussing Node.js's asynchronous execution model. Since Node.js was designed before the Promise
class, the Node.js community follows a different convention for writing asynchronous code; this is the callback function. Those callback functions are called to perform any kind of deferred or asynchronous computation.
The Promise
class approaches the same problem from a different angle. It has one large advantage in avoiding the so-called
Pyramid of Doom that's inevitable with deeply nested callback functions.
Promises are just one way to work around this so-called...