JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://raw2.github.com/petkaantonov/bluebird/master/js/browser/bluebird.js"></script>

JavaScript

Promise.onPossiblyUnhandledRejection(function(e){
    alert("Unhandled: " + e);
});

function createDelayedResolvePromise(){
    return (new Promise(function(resolve, reject){
        setTimeout(resolve, 1000, "Resolved!");
    }));
}

function createRejectPromise(){
    return (new Promise(function(resolve, reject){
        reject("Rejected!");
    }));
}

function sequenceTwoPromises(){
    return createDelayedResolvePromise()
    .then(createRejectPromise)
}

sequenceTwoPromises()
.caught(function(e){
    alert("Handled: " + e);
    return true; //Handle the artificial rejection.
})
.finally(function(e){
    alert("Finally.");
});