你好,我偶然发现了一个问题,我不确定我是否只是误解了 Promises 的工作方式。我试图通过将所有代码包装在父承诺中的方法中来捕获 unhandledPromiseRejection,以便它可以捕获传播的错误。
function testFunction() {
new Promise((resolve,reject)=>{
const innerPromiseWithError = new Promise(resolve=>{
throw new Error("TESTTEST");
})
innerPromiseWithError.then();
//do smth else here;
}).catch(console.log);
这里我希望 catch 能够捕捉到被拒绝的承诺,错误是由 innerPromise 引起的,但事实并非如此。关于我期望如何处理这件事,我的逻辑是否存在缺陷?