Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ES6承诺错误“;未兑现的(承诺中的)“;_Javascript_Es6 Promise - Fatal编程技术网

Javascript ES6承诺错误“;未兑现的(承诺中的)“;

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

我在Chrome控制台上遇到一个错误,我不完全理解可能的原因

以下是我的示例代码:

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谢谢,我收到了。没有办法不处理拒绝吗?