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

2025-05-20 14:59:37
推荐回答(3个)
回答1:

js 控制隔一定时间再执行的函数有 setTimeout 和setInterval 但这两个都是异步的。把这两个函数写在for循环里面,执行的顺序是执行完了整个for循环 再执行setTimeout 和setInterval函数。不能实现每循环一次停顿几秒的效果。例如 for(var i=0;i<7;i++){console.log("for: "+i);setTimeout(function(){console.log("set:"+i)})} 这个的执行结果是 先打印出 for:0到6 再打印6次 set:7

回答2:

/**
 *  睡眠函数
 *  @param numberMillis -- 要睡眠的毫秒数
 */
function sleep(numberMillis) {
    var now = new Date();
    var exitTime = now.getTime() + numberMillis;
    while (true) {
        now = new Date();
        if (now.getTime() > exitTime)
            return;
    }
}
for(var i = 1; i < 5 ; i++){
    console.info(i);
    sleep(3000);
}

回答3:

你是设置了sleep()方法吧