UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):3
问题描述:
declare var Promise: any;
function all(promises : Array<Promise<any>>) : Promise<Array<any>> {
return new Promise((resolve, reject) => {
if(promises.length===0){
resolve([]);
}
else{
promises[0].then((result)=>{
all(promises.slice(1)).then(rest=>{resolve([result].concat(rest))}).catch((err)=>{reject(err)})
}).catch((err)=>{reject(err)});
}
});
}
//Test
function p1() { // always succeeds, with content 1
return new Promise((resolve, reject) => {
setTimeout(() => { resolve(1); }, Math.random() * 1000);
});
}
function p3() { // always fails, with err 3
return new Promise((resolve, reject) => {
setTimeout(() => { reject(3); }, Math.random() * 1000);
});
}
all([p1(),p3()])
.then(content => { console.log("Test 2 Failed: ", content); })
.catch(err => {
if (err === 3) console.log("Test 2 Succeeded: ", err);
else console.log("Test 2 Failed: ", err);
}
);
运行此代码我正在此错误UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):3
(节点:12624)时UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1) :3(node:12624)DeprecationWarning:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。测试2成功:3(节点:12624)PromiseRejectionHandledWarning:承诺拒绝异步处理(拒绝ID:1)
请帮助我解决它!
嗨,何塞,欢迎来到stackoverflow!这不仅仅是一个答案,而是一个评论。请仅在您想要解决问题的情况下使用“答案”选项。 – matheburg
好吧,对不起..但链接也许解决了降级版本的问题。 –