promise-break
Version:
Break out of a promise chain
22 lines (17 loc) • 357 B
JavaScript
;
function createEndBreak(value) {
var instance = Object.create(Error.prototype);
instance.value = value;
instance.__isEndBreak = true;
return instance;
}
module.exports = function (val) {
var err = createEndBreak(val);
throw err;
};
module.exports.end = function (err) {
if (err.__isEndBreak) {
return err.value;
}
throw err;
};