js异步编程技巧一

异步回调是js的一大特性,理解好用好这个特性可以写出很高质量的代码。分享一些实际用的一些异步编程技巧。

1.我们有些应用环境是需要等待两个http请求或IO操作返回后进行后续逻辑的处理。而这种情况使用回调嵌套代码会显得很难维护,而且也没有充分使用js的异步优势。

看下实例(为了大家容易理解使用了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并行发送,极大的提高了效率

posted @ 2015-12-28 16:19  moonpanda  阅读(718)  评论(2编辑  收藏  举报