Possible Promise Cases
// case 1
// catches the reject from the `resolve(Promise.reject())` but what happens to the
// original reject in `new Promise(function(resolve, reject)` ?
new Promise(function(resolve, reject) {
resolve(Promise.reject());
}).catch(function() {
console.log('caught error / rejection')
});
new Promise(function(resolve, reject) {
resolve(Promise.reject());
}, function() {
console.log('caught error / rejection')
});