.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')
})