最開始是在后臺測試時返回較慢,前臺返回值很快剥悟,聽開發(fā)說到異步灵寺,同步的事曼库,所以我在百度了一些后,決定用文字記錄下來方便自己理解的略板,也在此給自己立下一個flag毁枯,希望自己都保持輸出文檔的習慣,day day study ,day day up!給我加油吧~
JavaScript中叮称,JavaScript是單線程种玛,單線程就意味著,所有任務需要排隊瓤檐,前一個任務結束赂韵,才會執(zhí)行后一個任務。如果前一個任務耗時很長挠蛉,后一個任務就不得不一直等著祭示。于是就有一個概念——任務隊列。但是如果一直這樣等著排隊執(zhí)行任務谴古,非得等一個任務完成再執(zhí)行下一個任務质涛,這樣就會造成資源浪費,所以就有了同步任務和異步任務掰担。
同步任務
就是在主線程上排隊執(zhí)行的任務汇陆,只有前一個任務執(zhí)行完畢,才能執(zhí)行后一個任務带饱;
異步任務
不進入主線程瞬测、而進入"任務隊列"(task queue)的任務,只有等主線程任務執(zhí)行完畢纠炮,"任務隊列"開始通知主線程,請求執(zhí)行任務灯蝴,該任務才會進入主線程執(zhí)行恢口;
通俗地講,就是不等結果直接進行下一步穷躁,那怎么拿到結果呢耕肩,利用回調即可拿到異步的結果
下面用一個通俗的事例來講講同步與異步
A:讓黃牛去買票,然后我擱邊上站著等(這是同步任務)
B:讓黃牛去買票(告訴黃牛问潭,你買到票call我)猿诸,然后我去做其他事情(這是異步任務,括號里表示的是回調)
回調call back
回調是拿到異步結果的一種方式狡忙,當然回調也可以拿到同步的結果
作者:darkTi
鏈接:http://www.reibang.com/p/d014e99e987f
來源:簡書
著作權歸作者所有梳虽。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處灾茁。
參考地址:https://blog.csdn.net/Adonis044/article/details/80183335回調參考文檔
回調一般用于層間協(xié)作窜觉,上層將本層函數(shù)安裝在下層谷炸,這個函數(shù)就是回調,而下層在一定條件下觸發(fā)回調禀挫。例如作為一個驅動旬陡,是一個底層,他在收到一個數(shù)據(jù)時语婴,除了完成本層的處理工作外描孟,還將進行回調,將這個數(shù)據(jù)交給上層應用層來做進一步處理砰左,這在分層的數(shù)據(jù)通信中很普遍匿醒。