<script src="script/jscex.bundle.js" type="text/javascript"></script>
<script src="script/jquery-bindings.js" type="text/javascript"></script>
<script type="text/javascript">
var dataList = [];
function getData1() {
$.getJSON("Data1handler.ashx?t="+new Date().getTime(), function(data) {
dataList.push(data);
});
}
var getData1Asnyc = eval(Jscex.compile("async", function() {
$await(getData1());
}));
function getDBData() {
$.getJSON("DBHandler.ashx?t=" + new Date().getTime(), function(data) {
dataList.push(data);
});
}
var getDBDataAsnyc = eval(Jscex.compile("async", function() {
$await(getDBData());
}));
var t = eval(Jscex.compile("async", function() {
dataList = [];
t1 = getData1Asnyc();
t2 = getDBDataAsnyc();
t2.start();
t1.start(); //这里
$await(Jscex.Async.sleep(500));//这里
$.each(dataList, function(i, d) {
if (d.length != undefined) {
$(".show").append("<hr/>");
$.each(d, function(ii, dd) {
$(".show").append("<p>ID=" + dd.ID + ",Name=" + dd.Name + "</p>");
});
} else {
$(".show").append("<hr/>");
$(".show").append("<p>Name=" + d.Name + "</p>");
}
});
}));
$("#b1").live("click", function() {
t().start();
// getData1();
// getDBData();
// $.each(dataList, function(i, d) {
// if (d.length != undefined) {
// $(".show").append("<hr/>");
// $.each(d, function(ii, dd) {
// $(".show").append("<p>ID=" + dd.ID + ",Name=" + dd.Name + "</p>");
// });
// } else {
// $(".show").append("<hr/>");
// $(".show").append("<p>Name=" + d.Name + "</p>");
// }
// });
});
</script>
这代码在点击按钮后,可正常加载两个AJAX请求,并显示数据在<span class="show"></span> 中。
可是将
t1.start()
$await(Jscex.Async.sleep(500));
这两句改为:
$await( getData1Async());
后,数据能正常加载,但往后显示的代码就不能将dataList里面的两个对象进行遍历显示在 <span class="show"></span> 中了。