Javascript NodeJS:自动捕获承诺和调用拒绝中的错误
我最近发现自己的处境很难调试。 想象一下以下非常简单的情况:Javascript NodeJS:自动捕获承诺和调用拒绝中的错误,javascript,node.js,es6-promise,Javascript,Node.js,Es6 Promise,我最近发现自己的处境很难调试。 想象一下以下非常简单的情况: function somePromise() { return new Promise((resolve, reject) => { SomeModule.someMethod(); AnotherModule.somePromise().then(resolve).catch(reject); }); } 从未调用过Resolve,但我在控制台中没有收到错误-这很难调试 结果发
function somePromise() {
return new Promise((resolve, reject) => {
SomeModule.someMethod();
AnotherModule.somePromise().then(resolve).catch(reject);
});
}
从未调用过Resolve,但我在控制台中没有收到错误-这很难调试结果发现我忘了需要
SomeModule
。在需要它之后,代码按预期工作
有没有一种方法可以使用错误处理程序自动尝试/捕获代码中的每个承诺?我不想用try/catch块来包围我的承诺主体,只是为了将来能够更容易地发现这样的错误
提前感谢您的意见
有没有一种方法可以使用错误处理程序自动尝试/捕获代码中的每个承诺
这是由Promise
构造函数隐式完成的。如果回调同步抛出异常,承诺将被拒绝
然而,你真的应该避免这种情况!使用
这只是为了简化起见,我对promise的结果做了更多的处理,这证明了“反模式”的合理性。不,反模式是没有道理的。只需执行
。然后(处理)
,其中处理
是一个函数,它接受承诺结果并计算新的返回值。处理过程中的错误很可能是您没有收到任何错误消息的实际原因。事实并非如此,问题在于处理my own promise方法的catch方法。但是谢谢你的意见。
function somePromise() {
SomeModule.someMethod();
return AnotherModule.somePromise();
}