function makeSoup() { return Promise.all([ new Promise((reject, resolve) => { chopCarrots(); chopOnions(); resolve(); }), boilPot() ]).then(() => { addCarrots(); return letPotKeepBoiling(5); }).then(() => { addOnions(); return letPotKeepBoiling(10); }) }