avaScript語言將任務(wù)的執(zhí)行模式可以分成兩種:同步(Synchronous)和異步(Asychronous)。
“同步模式”就是一個任務(wù)完成之后,后邊跟著一個任務(wù)接著執(zhí)行;程序的執(zhí)行順序和排列順序是一直的;”異步模式”則完全不同,每一個任務(wù)都有一個或者多個回調(diào)函數(shù)(callback),前一個任務(wù)結(jié)束的時候,不是執(zhí)行下一個任務(wù),二十執(zhí)行回調(diào)函數(shù),后一個任務(wù)則是不等前一個任務(wù)結(jié)束就執(zhí)行,所以程序的執(zhí)行順序與任務(wù)順序不一致的,異步的。
在瀏覽器端,耗時時間長的操作都應(yīng)該異步執(zhí)行,避免瀏覽器數(shù)去響應(yīng),最好的例子就是ajax操作。
在服務(wù)器端,“異步模式”甚至是唯一的模式,因為執(zhí)行環(huán)境是單線程的,如果允許同步執(zhí)行所有的http請求,服務(wù)器會急劇下降,很快會失去響應(yīng)。
“異步模式”一共有4種方法,這4種方法可以寫出結(jié)構(gòu)更合理,性能更出色,維護更方便的js代碼。這四種模式分別為:
一、回調(diào)函數(shù)(callback);
二、事件監(jiān)聽(Listener);
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式