下面代码的结果是什么?
console.log(1)
new Promise(function (resolve, reject) {
reject() // 失败
resolve() // 成功
}).then(
function () {
console.log(2)
},
function () {
console.log(3)
}
)
console.log(4)
在 Promise 构造函数中 reject()比 resolve()先执行,会执行 Rejected 状态的回调,即 console.log(3),打印 3。前面说了 Promise 对象状态改变只有两种情况,执行 reject()后,Promise 对象状态变为了 Rejected。所以后面的 resolve()不会执行。最终结果为:1、4、3。