异步回调是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并行发送,极大的提高了效率
新闻热点
疑难解答