gpt4 book ai didi

javascript - Promise 的第二个 .then() 没有失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:59:12 26 4
gpt4 key购买 nike

<分区>

我在链接 .then() 调用时遇到了问题。当执行以下代码时:

var prom = new Promise(function(resolve, reject) {
//let's always fail
reject(Error("buuuu!"));
});

var thenable =
prom.then(
function(done) {
console.log("First handler: Done!: Argument: ", done);
return "First then: DONE";
},
function(fail) {
console.error("First handler: Fail!. Argument: ", fail);
return "First then: FAIL";
}
).then(
function(done) {
console.info("Second handler: Done!. Argument: ", done);
},
function(fail) {
console.error("Second handler: Fail!. Argument: ", fail);
}
);

这将在控制台中打印以下内容:

First handler: Fail!. Argument:  Error {stack: (...), message: "buuuu!"}
Second handler: Done!. Argument: First then: FAIL


为什么第二个 then() 调用了它的 done 处理程序而不是 fail 处理程序?

这是 Chrome 的错误吗? (请注意,我只对 Google Chrome 的行为感兴趣)

我是否需要求助于从 .then 处理程序返回预先解决/拒绝的 Promise?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com