下面我們來舉例一下非同步和同步:
非同步:
先列印100,然後一秒後列印200,在列印的過程中不等待,先執行列印300
console.log (100)
setTimeout ( function(){
console.log ( 200)
},1000)
console.log (300)
同步:
先列印100,然後彈出200,點了確認之後才會列印300
console.log (100)
alert(200)
console.log (300)
所以基於JS是單執行緒語言,非同步不會阻塞程式碼執行,同步會阻塞程式碼執行
————————————————
非同步的應用場景
什麼時候會用到非同步呢?也就是需要等待的情況:
網路請求,如 ajax 圖片載入
定時任務,如 setTime
例如在ajax中:
先列印start,然後執行網路請求,等待過程中列印end,請求成功後列印data1
console.log( ‘start ‘ )
$.get( ‘./data1.json’ , function (data1) {
console.log (data1)
})
console.log ( ‘end ‘)
————————————————
版權宣告:本文為CSDN博主「北海的大魚」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:blog.csdn.net/weixin_45745641/arti...
版權宣告:本文為CSDN博主「北海的大魚」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:blog.csdn.net/weixin_45745641/arti...
本作品採用《CC 協議》,轉載必須註明作者和本文連結