2017-04-19 4 views
0

ich alle zwei Sekunden zu erreichen dies einen Code-Block ausgeführt werden soll, dachte ich, der einfachste Weg, die aktuelle Systemzeit als so abzurufen wäre:Abrufen von Systemzeit ständig aktualisiert in Javascript

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

jedoch , meine Warnung wird nicht alle zwei Sekunden auf den Bildschirm gedruckt. Wie kann dies richtig umgesetzt werden?

+1

Sie versuchen Haben https://www.w3schools.com/jsref/met_win_setinterval.asp – cabolanoz

+0

Aha! Ich habe das nicht versucht. Vielleicht ist das meine beste Option ... – Eragon20

Antwort

2

Um einen Codeblock alle x Sekunden auszuführen, können Sie setInterval verwenden. Hier ist ein Beispiel:

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

hier ein Arbeits Schnipsel:

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

1

Sie können setInterval (verwenden). Dies wird alle 2 Sekunden wiederholt.

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

Dies sollte für Sie arbeiten.

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

Allerdings, um zu beantworten, warum Ihr Code nicht funktioniert, weil es nicht in einer Schleife ist.

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

Versuchen Sie, die setInterval() -Methode mit

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