异步回调是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并行发送,极大的提升了效率异步编程