Tag: throw

Node.js – 在ES6承诺链中抛出exception

作为我正在开发的Node.js / Express API的一部分,我已经构build了一个自定义error handling程序,可以在需要时抛出特定的错误,例如BadRequest或NotFound等。 当我想要抛弃承诺链时,就会出现问题。 例如: db.doSomethingAsync().then(data => { if(data.length === 0){ throw new errors.ResourceNotFound({ resource: "foo" }); } }); 经过对这个话题的大量阅读后,我发现这个错误会被诺言所吞噬,从而导致一个未被处理的Promise拒绝。 我知道我可以拒绝,但我不知道如何才能处理具体的错误(而不是一个拒绝,我不想要)。 另外,要拒绝,我不需要在我的承诺链里创造一个新的承诺吗? 这感觉凌乱。 任何人都可以build议如何处理在承诺链中抛出一个特定的exception?