promise的状态可以一直传递下去,但是值只能接收一次,效果如下
new Promise((resolve,reject)=>{
console.log("第一层")
resolve("数据a")
}).then(suc=>{ console.log(suc)}, //数据a
_=>{ console.log("then1")
}).then(suc=>{console.log(suc)},//并没有输出"数据a",而是输出undefined
_=>{console.log("then2Fail")
})
那么如何将值继续传递呢?利用上一篇学到的改变状态来传值,使用如下
new Promise((resolve,reject)=>{
console.log("第一层")
resolve("数据a")
}).then(suc=>{ console.log(suc) //数据a
return Promise.resolve(suc)},
_=>{ console.log("then1")
}).then(suc=>{console.log(suc)},//数据a
_=>{console.log("then2Fail")
})