Promise.resolve() .catch(()=>{ log('onRejected #1'); }) .then(()=>{ log('onFulfilled #2'); return Promise.reject(); }) .then(()=>{ log('onFulfilled #3'); }) .catch(()=>{ log('onRejected #4'); }); function log(...strings){ let node = document.createElement('div'); node.innerText = strings.join(' '); document.getElementById('log').appendChild(node); }