Promise Chaining
by Jason Butz
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.4.6/bluebird.min.js"></script>
JavaScript
var output = function(text) {
var body = document.querySelector('body');
var p = document.createElement('p');
p.innerText = text;
body.appendChild(p);
}
Promise.resolve()
.then(() => {
output('Step 1');
return Promise.resolve()
})
.then(() => {
output('Step 2');
throw new Error('Error Message')
})
.then(() => {
output('Never Hit 1');
return Promise.resolve()
})
.catch((err) => {
output(`Step 3 - ${err.message}`);
return Promise.resolve();
})
.then(() => {
output('Step 4');
return Promise.resolve()
})
.catch((err) => {
output(`Never Hit 2 - ${err.message}`);
return Promise.resolve();
})