Javascript虽然在控制台中不起作用

时间:2018-11-20 17:19:10

标签: javascript while-loop console timestamp javascript-debugger

早上好,当我想在控制台中运行此代码时,浏览器阻止了我(错误:网页正在减慢浏览器速度)。 我不确定如何避免此错误。

var term = Date.now();
var term = term + 30000; // + 30 sec

while (1) {

    var now = Date.now();

    if(now > term) {

        alert("Now");
        break; // when is actual time (now) bigger than term, I will stop the script
    }

}

2 个答案:

答案 0 :(得分:3)

以非阻塞形式编写。使用setTimeout:

setTimeout(()=> {
  alert("Now");
}, 30000);

如果要等待特定的时间戳,只需将setTimeout X秒,执行操作:

var miliseconds_to_wait = timestamp - Date.now();

setTimeout(()=>{
  alert("Now");
}, miliseconds_to_wait);

答案 1 :(得分:0)

setInterval在特定时间后重复执行某些任务。

setInterval(()=> alert("Now"), 1000);

setTimeout等待特定时间。

setTimeout(()=> {
      alert("Now");
    }, 30000);