2017-04-19 36 views
0

我想執行的代碼塊每兩秒鐘,完成這一系統的時間,我想最簡單的方法是獲取當前的系統時間,像這樣:檢索不斷更新的JavaScript

if ((Date().getSeconds()) % 2 == 0) { 
    alert("hello"); //I want to add code here! 
} 

然而,我的警報不會每兩秒鐘打印到屏幕上。這怎麼能正確實施?

+1

你有沒有嘗試https://www.w3schools.com/jsref/met_win_setinterval.asp – cabolanoz

+0

啊哈!我沒有嘗試過。也許這是我最好的選擇... – Eragon20

回答

2

爲了每x秒運行一段代碼,可以使用setInterval。 下面是一個例子:

setInterval(function(){ 
    alert("Hello"); 
}, x000); // x * 1000 (in milliseconds) 

這裏有一個工作片斷:

setInterval(function() { 
 
    console.log("Hello"); 
 
}, 2000);

1

可以使用的setInterval()。這將每2秒循環一次。

setInterval(function() { 
    //something juicy 
}, 2000); 
1

這應該適合你。

setInterval(function() { 
    //do your stuff 
}, 2000) 

但是,要回答爲什麼你的代碼不工作,因爲它不在循環中。

runInterval(runYourCodeHere, 2); 

function runInterval(callback, interval) { 
    var cached = new Array(60); 
    while (true) { 
    var sec = new Date().getSeconds(); 
    if (sec === 0 && cached[0]) { 
     cached = new Array(60); 
    } 

    if (!cached[sec] && sec % interval === 0) { 
     cached[sec] = true; 
     callback(); 
    } 
    } 
} 

function runYourCodeHere() { 
    console.log('test'); 
} 
1

嘗試使用setInterval()方法

setInterval(function() {console.log('hello'); }, 2000)