我有下面的代码,基于 MDN 文档,我知道如何为
result
指定 state
和 promise
,由处理程序产生:
返回一个值:p 得到满足,返回值作为它的值 值。
不返回任何内容:p 得到满足,并以 undefined 作为其值 值。
抛出错误:p 被拒绝,并抛出错误作为其 值。
返回一个已经履行的承诺: p 得到履行 该承诺的价值就是它的价值。
返回一个已经被拒绝的 Promise:p 被拒绝,并以该 Promise 的 > 值作为其值。
返回另一个待处理的承诺:p 处于待处理状态并变为 立即履行/拒绝该承诺的价值作为其价值 在该承诺实现/拒绝之后。
那么为什么我的
state
的 promise
是 fullfilled
?
代码:
const test = Promise.reject(new Promise((resolve, reject) => {
throw new Error("error")
}))
const test2 = test.catch((result) => {
result.catch(() => {
throw new Error("error2");
})
})
console.log(test2);
//result in console:
//[[Prototype]]: Promise
//[[PromiseState]]: "fulfilled"
//[[PromiseResult]]: undefined