js 中的for循环 怎么每循环一次睡眠3秒??? 100
for(varj=0;j<records.length;j++){varrecord=records[j];collClickRemoteAssist(record);}...
for(var j=0;j<records.length;j++){
var record=records[j];
collClickRemoteAssist(record);
}
就是每一次for,睡眠3秒后,然后执行方法( collClickRemoteAssist(record);)
继续循环一次,睡眠3秒,执行方法。。。。。
------------------------------------以下是setTimeout方法测试-------不可取--------------
setTimeout( function(){
collClickSecond(record);
},3000 );
要是使用setTimeout方法,程序会睡眠3秒后一次执行完循环,等于延迟了3秒。
怎么解决????????? 展开
var record=records[j];
collClickRemoteAssist(record);
}
就是每一次for,睡眠3秒后,然后执行方法( collClickRemoteAssist(record);)
继续循环一次,睡眠3秒,执行方法。。。。。
------------------------------------以下是setTimeout方法测试-------不可取--------------
setTimeout( function(){
collClickSecond(record);
},3000 );
要是使用setTimeout方法,程序会睡眠3秒后一次执行完循环,等于延迟了3秒。
怎么解决????????? 展开
2个回答
展开全部
不行,setTimeout和setinterval的运行机制不是那样的,它是在指定时间之后运行,但循环会在此期间继续运行。js实现在循环中睡眠的功能几乎是不可能的。你既然用循环,那么可以用setInterval或者setTimeout递归
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-06-24
展开全部
不太理解你说的什么意思,如果还要做的话,我推荐你用另外的方法
val i=0;
function f(){
if(i<records.length){
var record=records[j];
collClickRemoteAssist(record);
}
i++;
}
var t = setInterval("f",3000);
if(i>=records.length){
clearInterval(t);
}
val i=0;
function f(){
if(i<records.length){
var record=records[j];
collClickRemoteAssist(record);
}
i++;
}
var t = setInterval("f",3000);
if(i>=records.length){
clearInterval(t);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询