new Promise((resolve,reject)=>{
console.log("第一层")
resolve()
}).then(_=>{
console.log("then1")
reject() //无效
}).then(_=>{
console.log("then2Success") //输出
},_=>{
console.log("then2Fail") //未输出
})
可以看出promise的状态的reject会一直传递下去,后续直接写resolve()是无法改变状态的
那么如何改变状态呢?如下
new Promise((resolve,reject)=>{
console.log("第一层")
resolve()
}).then(_=>{
console.log("then1")
return Promise.reject() //有效
}).then(_=>{
console.log("then2Success") //未输出
},_=>{
console.log("then2Fail") //输出
})