Javascript ES6承诺错误“;未兑现的(承诺中的)“;
我在Chrome控制台上遇到一个错误,我不完全理解可能的原因 以下是我的示例代码:Javascript ES6承诺错误“;未兑现的(承诺中的)“;,javascript,es6-promise,Javascript,Es6 Promise,我在Chrome控制台上遇到一个错误,我不完全理解可能的原因 以下是我的示例代码: function sayHi() { return new Promise(function(resolve, reject) { console.log('Hi') reject('Not in the mood') setTimeout(() => { resolve() }, 20) }) } s
function sayHi() {
return new Promise(function(resolve, reject) {
console.log('Hi')
reject('Not in the mood')
setTimeout(() => {
resolve()
}, 20)
})
}
sayHi().then(() => {
console.log('Bye')
})
如果在控制台上运行此代码,您将看到承诺被拒绝,这是一个预期结果。但是,也有一条错误消息:
未捕获(承诺中)拜拜承诺。然后(异步)(匿名)@
VM374412:11
如果从sayHi
功能中删除reject
,则不会出现此错误消息。但这绝不是任何开发人员根本不想拒绝的意图
我们应该忽略错误信息,还是我完全遗漏了什么
谢谢。您没有处理拒绝,因此在您的.then之后会收到消息add.catch(e=>console.log('rejection',e))
,并且神奇地没有关于未处理拒绝的警告,因为您现在正在处理拒绝。在这个示例代码中如何处理?我刚刚告诉您要添加的代码sayHi()。然后(()=>{console.log('Bye')})
.catch(e=>console.log('rejection',e))
@JaromandaX谢谢,我收到了。没有办法不处理拒绝吗?