繁体   English   中英

为什么 Promise 在解决后不忽略拒绝?

[英]Why Promise does not ignore reject after resolve?

我正在阅读javascript.infofreecodecamp文章,他们解释说,在一个承诺中,一切都在解决或拒绝之后发生,将被忽略。

Promise 执行者应该只调用一个resolve 或一个reject。 一旦改变了一种状态(待处理 => 已完成或待处理 => 拒绝),仅此而已。 任何进一步的解决或拒绝呼叫都将被忽略。

例子

let promise = new Promise(function(resolve, reject) {
  resolve("I am surely going to get resolved!");

  reject(new Error('Will this be ignored?')); // ignored
  resolve("Ignored?"); // ignored
});

问题:

为什么,如果我尝试在解析和拒绝中使用 consolog.log,它们将被执行机器人?

例子

 let promise = new Promise(function (resolve, reject) { resolve(console.log("I am surely going to get resolved!")); reject(console.log(new Error("Will this be ignored?"))); // ignored resolve(console.log("Ignored?")); // ignored });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM