javascript:循环中如何等待方法完成了再继续?

for(i++){a(i);}functiona(num){要做很多事情,如ajax获取信息等。}问:1、如何实现等待方法a完成了工作才继续?2、换成函数是否会有改善?注... for(i++)
{
a(i);
}
function a(num)
{
要做很多事情,如ajax获取信息等。
}
问:
1、如何实现等待方法a完成了工作才继续?
2、换成函数是否会有改善?

注:不想用判断xmlHttp.readyState等方法来实现。
初学者,麻烦请示例。我自己弄好像弄不了

a里面执行了几次的ajax连接啊,这是需要时间的。必须等到a方法中的所有方法都完成了,才进行下一个循环。现在出现的结果是,i一下子直接到最大值了,根本没有等到a去执行。

就是不想用xmlHttp.readyState啊,js不提供其它途径吗?等到a执行完成了,i再加一。
我的for没问题。如果我在a之后加个alert中断,a就有足够的时间去完成工作,整个程序有效。当然不可能加延时的,因为完成的工作时间不可估计。

---------------------------------------------------------------------------------
这样问可能清晰一点吧:
var content;//页面内容
a();//a用ajax取得页面内容,赋给全局变量content
b();//对content进行处理
但是,a都还没执行完,都还没拿到内容给content,b就开始处理了
怎么办?
限制:不把b()放到a()中。
---------------------------------------------------------------------------------
展开
 我来答
水叹花
2008-04-16 · TA获得超过375个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:278万
展开全部
xmlhttp.onreadystatechange = function (){a(参数)};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友66a8d48e5
2008-04-16 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3885万
展开全部
试一下进程锁吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-07-06
展开全部
参考思路:
可以用等待实现,在需要停留的位置处加入:settimeout("alert("稍等")",5000)
参考代码
function dosubmit()
{
form1.action="ss.jsp";
form1.target="design";
form1.submit();
/*想在这里停留多少秒,根据程序决定*/
form1.action="zx.jsp";
form1.target="design";
form1.submit();

}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
buckwmm
2008-04-16 · 超过18用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:60.9万
展开全部
javascript:循环中如何等待方法完成了再继续?
悬赏分:200 - 离问题结束还有 19 天 22 小时
for(i++)
{
a(i);
//这原来的的“ { ”放到下面去 试试
function a(num)
{
要做很多事情,如ajax获取信息等。
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yeaea
2008-04-16 · TA获得超过444个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:98.5万
展开全部
ajax中本来就有同步和不同步的参数设定的
设一下就可以了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式