Chaining Promises and Promise handlers
Much of the purpose of promises is to allow the developer to serialize and reason about independent asynchronous actions. This can be accomplished by utilizing the Promise chaining feature.
Note
The code, links, and a live example of this are available at http://ngcookbook.herokuapp.com/6828/ .
How to do it...
The promise handler definition method then()
returns another promise, which can have further handlers defined upon it—in a handler called chain:
var successHandler = () => { console.log('called'); }; var p = new Promise((resolve, reject) => { resolve(); }) .then(successHandler) .then(successHandler) .then(successHandler); // called // called // called
Chained handlers' data handoff
Chained handlers can pass data to their subsequent handlers in the following manner:
var successHandler = (val) => { console.log(val); return val+1; }; var p...