Skip to content

sindresorhus/p-break

Repository files navigation

p-break

Break out of a promise chain

See "How do I break out of a promise chain?" for a better way.

Install

$ npm install p-break

Usage

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);
	//=> '🦄'

API

pBreak([value])

Starts the break. Any .then()'s between here and pBreak.end() are skipped.

value

Value to pass down the chain after pBreak.end().

pBreak.end

Ends the break. Make sure not to have any other .catch() handlers between pBreak() and here.

Related