.then() 里边有 .then() 的情况。
因为 .then()返回的还是promise实例,会等里面的 .then()执行完,在执行外边的。
对于我们来说,此时最好将其展开,阅读体验更好~
console.log('start') new Promise(resolve=>{ console.log('Step 1') setTimeout(()=>{ resolve(100) },1000) }) .thne(value=>{ return new Promise(resolve=>{ console.log('Step 1-1'); setTimeout(()=>{ resolve(110) },1000) }) .then(value=>{ console.log('Step 1-2') return value; }) .then(value=>{ console.log('Step 1-3') return value; }) }) .then(value=>{ console.log(value) console.log('Step 2') })
Step1
Step1-1
Step1-2
Step1-3
110
Step2
进行展开
console.log('start') new Promise(resolve=>{ console.log('Step 1') setTimeout(()=>{ resolve(100) },1000) }) .thne(value=>{ return new Promise(resolve=>{ console.log('Step 1-1'); setTimeout(()=>{ resolve(110) },1000) }) }) .then(value=>{ console.log('Step 1-2') return value; }) .then(value=>{ console.log('Step 1-3') return value; }) .then(value=>{ console.log(value) console.log('Step 2') })