天天看點

ES6 - Promise then 嵌套

.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

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