Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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承诺中的错误_Javascript_Es6 Promise - Fatal编程技术网

无法处理javascript承诺中的错误

无法处理javascript承诺中的错误,javascript,es6-promise,Javascript,Es6 Promise,为什么它不运行下面的代码“console.log(err)”?而是返回“TypeError:无法在字符串“承诺中的错误”上创建属性“uncaught” 。然后和捕获需要构建承诺。你没有回报承诺。承诺回调(executor)接受两个参数,一个解析程序和一个拒绝程序。根据代码中发生的情况,如果一切正常,可能需要调用resolve,如果出现问题,可能需要调用reject 函数abc(){ 返回新承诺(功能(解决、拒绝){ 拒绝(123) }); }; abc() .catch(错误=>{ 控制台日志

为什么它不运行下面的代码“console.log(err)”?而是返回“TypeError:无法在字符串“承诺中的错误”上创建属性“uncaught”


。然后
捕获
需要构建承诺。你没有回报承诺。承诺回调(executor)接受两个参数,一个解析程序和一个拒绝程序。根据代码中发生的情况,如果一切正常,可能需要调用resolve,如果出现问题,可能需要调用reject

函数abc(){
返回新承诺(功能(解决、拒绝){
拒绝(123)
});
};
abc()
.catch(错误=>{
控制台日志(err);
返回错误;
})
。然后(abcMessage=>{
console.log(abcMessage)
});

新错误(“承诺中的错误”)
不要抛出字符串;抛出错误<代码>新错误(“承诺中的错误”)
谢谢!将其修改为新错误(“承诺中的错误”),错误消失,但现在不再运行console.log(err),而是在到达console.log(err)之前抛出错误错误:承诺中的错误承诺在哪里?您所称的“承诺回调”实际上有一个正式名称,即executor。
function abc() {
    throw "error in promise";
    return 123;
};
abc().catch(function(err) {
    console.log(err)
}).then ( abcMessage =>
    console.log(abcMessage)
)