Break out of a promise chain
See "How do I break out of a promise chain?" for a better way.
$ npm install p-break
Here the onlyRunConditional
promises are skipped if conditional
is falsy:
import pBreak from 'p-break';
alwaysRun1()
.then(() => alwaysRun2())
.then(conditional => conditional || pBreak('🦄'))
.then(() => onlyRunConditional1())
.then(() => onlyRunConditional2())
.then(() => onlyRunConditional3())
.then(() => onlyRunConditional4())
.catch(pBreak.end)
.then(console.log);
//=> '🦄'
Starts the break. Any .then()
's between here and pBreak.end()
are skipped.
Value to pass down the chain after pBreak.end()
.
Ends the break. Make sure not to have any other .catch()
handlers between pBreak()
and here.