(Ajax相关)多个异步XMLHTTP操作,如何判断前面的已经执行完成 if (ajax.status == 200)在这一步设置一个变量为true就行了,然后做下判断 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是这样呢?AAA();alert("kkk");如果AAA()还没有执行完,会先弹出alert怎么办呢? TRY:var flag = falseAAA(){....if(???){flag = true}....}if(flag){alert("kkk");} dh20156(风之石) 你的这种办法,不会弹出alert目前我只想到用setIntervalfunction CCC(){ if (flag) { alert("end"); clearInterval(timename); }}var timename=setInterval("CCC();",1);AAA();在CCC中等待异步调用完成运行时IE会有点拖滞的感觉,如果计算机的性能比较差,可能会出现假死现象8( 看来你还没有理解ajax的编程方式异步通讯妙就妙在无须等待某个任务的完成如果你的某项任务需要依赖前一个任务的完成,那就要采用同步方式了AAA(); //1BBB(); //2alert('ok'); //3异步方式下3最先有响应,其后是1或2之一,最后是剩下的那个1和2具体是哪个先有响应,是不能预先确定的。否则就必须使用同步方式也就是说AAA()和BBB()都必须设计成具有独立工作能力的函数如果已经做到了这一点,那么“判断前面的已经执行完成”已经不重要了。甚至当页面关闭时,某项任务还未完成,也是可能的 to:xuzuning(唠叨) 即使异步,也应该能够知道是否已经完成了撒在实际开发中难免会遇到多个异步操作,且需要确定完成的顺序的情况还是HTTP的局限性啊Win开发中,即使异步也是有办法确定是否已经完成的如果实在不行,只有用全局变量标识的办法了 既然你要求有先后顺序,当然是同步来做,不过你可以在AAA来实现if (ajax.status == 200) {// no http error outStr = ajax.responseText; BBB(); } .... 感谢各位高手目前准备采用setInterval+全局变量的方法解决这样的问题 innerHTML获取无法获取某个样式 FF不报错,IE报错问题 哎,上当了,javascript王者归来完全是一本无甚大用的书 js得到鼠标选中的字是什么字 字数分页截断html代码问题讨论 怎样获得body的高度 如何判断选择哪一个? javascript的问题,急! 怎样用JS取得表单复选框的值? js中.style为什么只能获取到内联样式值?和浏览器渲染过程有关吗? 那位老大能给一段无缝向左滚动图片的代码啊,急,在线,100分 用window.open打开一个网页后,对该网页中一个表单域设置内容,为何不成功?
AAA();
alert("kkk");如果AAA()还没有执行完,会先弹出alert
怎么办呢?
var flag = false
AAA(){
....
if(???){flag = true}
....
}
if(flag){
alert("kkk");
}
你的这种办法,不会弹出alert目前我只想到用setIntervalfunction CCC(){
if (flag)
{
alert("end");
clearInterval(timename);
}
}var timename=setInterval("CCC();",1);
AAA();在CCC中等待异步调用完成
运行时IE会有点拖滞的感觉,如果计算机的性能比较差,可能会出现假死现象8(
异步通讯妙就妙在无须等待某个任务的完成如果你的某项任务需要依赖前一个任务的完成,那就要采用同步方式了AAA(); //1
BBB(); //2
alert('ok'); //3异步方式下3最先有响应,其后是1或2之一,最后是剩下的那个
1和2具体是哪个先有响应,是不能预先确定的。否则就必须使用同步方式也就是说AAA()和BBB()都必须设计成具有独立工作能力的函数
如果已经做到了这一点,那么“判断前面的已经执行完成”已经不重要了。甚至当页面关闭时,某项任务还未完成,也是可能的
即使异步,也应该能够知道是否已经完成了撒
在实际开发中难免会遇到多个异步操作,且需要确定完成的顺序的情况还是HTTP的局限性啊
Win开发中,即使异步也是有办法确定是否已经完成的如果实在不行,只有用全局变量标识的办法了
不过你可以在AAA来实现if (ajax.status == 200) {// no http error
outStr = ajax.responseText;
BBB();
}
....
目前准备采用setInterval+全局变量的方法解决这样的问题