JavaScript

超轻量级php框架startmvc

js异步编程小技巧详解

更新时间:2020-05-29 21:30:01 作者:startmvc
异步回调是js的一大特性,理解好用好这个特性可以写出很高质量的代码。分享一些实际用

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

js 异步编程 异步回调