異步回調是js的一大特性,理解好用好這個特性可以寫出很高質量的代碼。分享一些實際用的一些異步編程技巧。
1.我們有些應用環境是需要等待兩個http請求或IO操作返回后進行后續邏輯的處理。而這種情況使用回調嵌套代碼會顯得很難維護,而且也沒有充分使用js的異步優勢。
看下實例(為了大家容易理解使用了jq作為示例)
$.get("獲取數據1.html",function(data,status){ $.get("獲取數據2.html",function(data1,status1){ //使用 data 和data1邏輯 }); });
這種代碼明顯需要等待上個ajax請求返回后才會進行第二個請求,效率很低,而且回調嵌很不利于邏輯。我們可以使用計數器的方式,每完成一個請求計數器加1 當計數器等于2時執行回調邏輯
var get_datavar get-data1function 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并行發送,極大的提高了效率
新聞熱點
疑難解答
圖片精選