【JavaScript】Ajax 同步解决方案。

卤蛋磨磨唧唧写了一个礼拜没弄好隔壁大神一两句话点醒梦中人,写的不好地方还望各位大神见谅,小的才学写博客还请见谅。

最后在说一句,根据业务需求选择Ajax同步的解决方案 , 这不一定适合所有的同步。

参考链接: http://www.jquery123.com/category/deferred-object/

function getData(urls){
	var logicalIdData = new Array();	
	var promises = [];   
	for(var i = 0 ; i < urls.length ; i++){
		promises.push($.ajax({type: "get",
	    	url: urls[i],
	    	data: "id=1",dataType:'json'
	    }));
    }
	
	/** 一下代码才是重头戏  **/
	//这段代码大致意思是  上面Ajax所以请求完成返回了 才执行下面的(延迟执行)。
	$.when.apply(null, promises ).done(function() { 
		//Ajax 请求完成后返回的状态 , 还有数据。 不懂得可以Js 调试下 。 
		for(var i = 0 ; i < arguments.length; i++){
		    if("success" == arguments[i][1]){
                logicalIdData[i] = arguments[i][0];
		    }
		}
		//TODO 业务员代码块
		return logicalIdData; // 实际笔者是咋这写的业务逻辑的,不是返回。
	})
}

以上给各位的是一种解决方案, 还有一种是 使用同步的方法编写,但是同步的方案会让浏览器有卡顿的情况出现。


转载于:https://my.oschina.net/u/1265083/blog/645162

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值