異步回調是js的一大特性,理解好用好這個特性能夠寫出很高質量的代碼。分享一些實際用的一些異步編程技巧。html
1.咱們有些應用環境是須要等待兩個http請求或IO操做返回後進行後續邏輯的處理。而這種狀況使用回調嵌套代碼會顯得很難維護,並且也沒有充分使用js的異步優點。ajax
看下實例(爲了你們容易理解使用了jq做爲示例)編程
1 $.get("獲取數據1.html",function(data,status){ 2 $.get("獲取數據2.html",function(data1,status1){ 3 //使用 data 和data1邏輯 4 }); 5 });
這種代碼明顯須要等待上個ajax請求返回後纔會進行第二個請求,效率很低,並且回調嵌很不利於邏輯。咱們能夠使用計數器的方式,每完成一個請求計數器加1 當計數器等於2時執行回調邏輯異步
var get_data var get-data1 function next(){ //使用 data 和data1邏輯 } $.get("獲取數據1.html",function(data,status){ get_data=data (++over === all) && (next()); }); $.get("獲取數據2.html",function(data1,status1){ get_data1=data1 (++over === all) && (next()); });
這種方式兩個http並行發送,極大的提升了效率異步編程