Promise.reject() .catch(()=>{ log('onRejected1 returns value'); return 'value from onRejected1'; }) .then((value)=>{ log('onFulfilled2 got value:', value); }); function log(...strings){ let node = document.createElement('div'); node.innerText = strings.join(' '); document.getElementById('log').appendChild(node); }