1.非同步任務? 我的理解就是需要用戶觸發的事件,定、延時器,簡單理解就是未來才會發生的事件就是非同步事件, 原理:js是一個單線程的語言,中所有的代碼塊都可以按照任務分為兩種任務:一種是同步任務,一種是非同步任務。 js執行程式時遇到這兩種任務,會按照同步和非同步兩種類別進行識別對待。. 1.同步任務進入 ...
1.非同步任務?
我的理解就是需要用戶觸發的事件,定、延時器,簡單理解就是未來才會發生的事件就是非同步事件,
原理:js是一個單線程的語言,中所有的代碼塊都可以按照任務分為兩種任務:一種是同步任務,一種是非同步任務。
js執行程式時遇到這兩種任務,會按照同步和非同步兩種類別進行識別對待。.
1.同步任務進入主線程,從上往下執行,一條一條代碼執行,形成一個叫執行棧的東西
2.非同步任務會進入另外一個任務隊列中,要等待主線程執行完了,才會執行(非同步池)
總結:1.非同步任務是等同步任務全部執行完畢之後,才會執行!
2.非同步任務池中,誰先執行完成,就返會誰到主線程上,先執行
1 setInterval(function(){ // 2 2 console.log('我是非同步執行的程式1111'); 3 } , 2000); 4 setInterval(function(){ // 1 5 console.log('我是非同步執行的程式2222'); 6 } , 1000); 7 8 console.log('我是同步執行的程式')