【問題】js 之 await ~ 再探索

參考文檔  (小白提供)(另 剛看歷史喵 原來 歷史上的曾經有個叫管仲的 也叫小白,而且是個扛把子哦!!!) 

另一個參考文檔 

沒有return的場合

async function gen(){
 await Promise.resolve(1)
 console.log('gne1')
 await Promise.resolve(1)
 console.log('gne2')
 await Promise.resolve(1)
 console.log('gne3')
 await Promise.resolve(1)
 console.log('gne4')
 await Promise.resolve(1)
 console.log('gne5')

}

gen()

Promise.resolve(1).then(()=>{
 console.log('p11')
 //return Promise.resolve(1)
}).then(()=>{
 console.log('p12')
}).then(()=>{
 console.log('p21')
}).then(()=>{
 console.log('p22')
}).then(()=>{
 console.log('p23')
}).then(()=>{
 console.log('p31')
 //return Promise.resolve(1)
}).then(()=>{
 console.log('p32')
}).then(()=>{
 console.log('p33')
}).then(()=>{
 console.log('p41')
}).then(()=>{
 console.log('p42')
}).then(()=>{
 console.log('p43')
}).then(()=>{
 console.log('p51')
}).then(()=>{
 console.log('p52')
}).then(()=>{
 console.log('p53')
}).then(()=>{
 console.log('p61')
})

沒有 return 的時候 

  • promise  promise  主程序  
  • promise   promise   promise  主程序
  • promise   promise   promise  主程序
  • 。。。。。。

上面這種頻率輸出的

 

有return的場合 

async function gen(){
 await Promise.resolve(1)
 console.log('gne1')
 await Promise.resolve(1)
 console.log('gne2')
 await Promise.resolve(1)
 console.log('gne3')
 await Promise.resolve(1)
 console.log('gne4')
 await Promise.resolve(1)
 console.log('gne5')

}

gen()

Promise.resolve(1).then(()=>{
 console.log('p11')
 //return Promise.resolve(1)
}).then(()=>{
 console.log('p12')
}).then(()=>{
 console.log('p21')
}).then(()=>{
 console.log('p22')
}).then(()=>{
 console.log('p23')
}).then(()=>{
 console.log('p31')
 return Promise.resolve(1)
}).then(()=>{
 console.log('p32')
}).then(()=>{
 console.log('p33')
}).then(()=>{
 console.log('p41')
}).then(()=>{
 console.log('p42')
}).then(()=>{
 console.log('p43')
}).then(()=>{
 console.log('p51')
}).then(()=>{
 console.log('p52')
}).then(()=>{
 console.log('p53')
}).then(()=>{
 console.log('p61')
})

當在輸出比較穩定的 位置 比如 31 那個地方 多放一個return 時候,

就會從31 開始 都跳了一個 似的 。。。。。。

運行結果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章