非同步 1.知道哪部分代碼是非同步的; 2.必須要知道非同步程式之中的數據或者賦值的變數在哪裡可用; js:單線程語言 上面一行代碼不執行結束,下麵一行代碼不會執行; 單線程 多線程 js中存在很大需要長時間等待才會執行的代碼; 非同步 :在js中需要消耗大量時間等待某些程式執行的時候,會讓正常程式繼續執行 ...
非同步
1.知道哪部分代碼是非同步的;
2.必須要知道非同步程式之中的數據或者賦值的變數在哪裡可用;
js:單線程語言
- 上面一行代碼不執行結束,下麵一行代碼不會執行;
單線程
多線程
- js中存在很大需要長時間等待才會執行的代碼;
非同步:在js中需要消耗大量時間等待某些程式執行的時候,會讓正常程式繼續執行.耗時較長的程式等會執行.耗時較長的程式我們把它稱之為非同步程式;
js設定的非同步:
- 事件;
- 定時器;
- 所有的ajax請求
- promise
非同步程式是等到所有同步程式執行結束才會去執行的代碼;
- 事件有事件處理函數(回調函數)
- 定時器有回調函數
- ajax請求也有回調函數
- promise...
非同步程式的第二個特征就是必須有個回調函數
- 回調函數: 同步程式執行結束之後,回頭調用的函數;
非同步的執行順序; Event Loop;
非同步實戰