Chaining Promises
Every invocation of the then()
method returns a new Promise, whose both final status and result depends on the Promise that the then()
method was called on, but is also subject to the value returned by the attached callbacks. This allows us to chain calls of the then()
method, enabling us to compose Promises by serially joining them. This way, we can easily orchestrate both asynchronous and synchronous code, where each chaining step propagates its result to the next one and allows us to construct the final result in a readable and declarative way.
Let's now proceed to analyzing all the different ways that chaining of calls to the then()
method works. Since we will be focusing on the concepts of Promise composition by chaining, which works the same as jQuery and ES6 Promises, let's suppose that there is a p
variable that is holding a Promise object created by either of the following lines of code:
var p = $.Deferred().resolve(7).promise(); //or var p = Promise.resolve(7...