js 中的for循环 怎么每循环一次睡眠3秒???


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秒。

怎么解决?????????

慕勒3428872
浏览 916回答 6
6回答

MM们

var i = 0; setInterval(function(){i++; console.log(records[i]);},3000);

慕村225694

function sleep(ms) { var starttime = new Date().getTime(); do { } while ((new Date().getTime() - starttime) < ms) } 這是段仿sleep的function,應該可以解決你的問題 但這並不是個好的使用方式..

大话西游666

这个不行,这个计算机会死机的

慕娘9325324

楼上的是对的。

温温酱

for(var i = 0 ; i < 5 ; i++){   setTimeout(function(){     console.log(1);   },i*3000);}

万千封印

const SLEEP_MILLISECONDS = 1000 * 3; for (var j = 0; j < records.length; j++) { var record = records[j]; (function(record) { setTimeout(function() { collClickRemoteAssist(record); }, j * SLEEP_MILLISECONDS); })(record); }  
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript