欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js異步編程小技巧詳解

 更新時間:2017年08月14日 08:43:23   作者:moonpanda  
這篇文章主要介紹了js異步編程技巧,使用計數(shù)器的方式,每完成一個請求計數(shù)器加1 當(dāng)計數(shù)器等于2時執(zhí)行回調(diào)邏輯,兩個http并行發(fā)送,從而極大的提高了效率,需要的朋友可以參考下

異步回調(diào)是js的一大特性,理解好用好這個特性可以寫出很高質(zhì)量的代碼。分享一些實際用的一些異步編程技巧。

1.我們有些應(yīng)用環(huán)境是需要等待兩個http請求或IO操作返回后進行后續(xù)邏輯的處理。而這種情況使用回調(diào)嵌套代碼會顯得很難維護,而且也沒有充分使用js的異步優(yōu)勢。

看下實例(為了大家容易理解使用了jq作為示例)

 $.get("獲取數(shù)據(jù)1.html",function(data,status){
   $.get("獲取數(shù)據(jù)2.html",function(data1,status1){
    //使用 data 和data1邏輯
  });
 });


這種代碼明顯需要等待上個ajax請求返回后才會進行第二個請求,效率很低,而且回調(diào)嵌很不利于邏輯。我們可以使用計數(shù)器的方式,每完成一個請求計數(shù)器加1 當(dāng)計數(shù)器等于2時執(zhí)行回調(diào)邏輯

var get_data
var get-data1
function next(){
  //使用 data 和data1邏輯
}
$.get("獲取數(shù)據(jù)1.html",function(data,status){
  get_data=data
  (++over === all) && (next());
 });
$.get("獲取數(shù)據(jù)2.html",function(data1,status1){
  get_data1=data1
  (++over === all) && (next());
   
}); 

這種方式兩個http并行發(fā)送,極大的提高了效率

相關(guān)文章

最新評論