Javascript: Rufen Sie eine Funktion nach einem bestimmten Zeitraum auf


78

Wie kann ich in JavaScript eine Funktion nach einem bestimmten Zeitintervall aufrufen?

Hier ist meine Funktion, die ich ausführen möchte:

function FetchData() {
}

3
setTimeout()? setInterval()?
Pointy

Antworten:


160

Sie können JavaScript-Timing-Ereignisse verwenden , um die Funktion nach einem bestimmten Zeitintervall aufzurufen:

Dies zeigt die Alarmbox nach 3 Sekunden:

setInterval(function(){alert("Hello")},3000);

Sie können in javascript.ie zwei Methoden für Zeitereignisse verwenden

  1. setInterval(): führt eine Funktion immer wieder in festgelegten Zeitintervallen aus
  2. setTimeout() : führt eine Funktion einmal aus, nachdem eine bestimmte Anzahl von Millisekunden gewartet wurde

30

Funktion FetchData() einmal nach 1000 Millisekunden ausführen:

setTimeout(FetchData,1000);

Führen Sie die Funktion alle 1000 Millisekunden FetchData() wiederholt aus :

setInterval(FetchData,1000);

2
Ich denke, im Fall von 'setInterval ()' sollten die runden Klammern für den Funktionsnamen, dh 'FetchData', nicht vorhanden sein, da dies die Funktion nur einmal auslöst. setInterval (FetchData, 1000) scheint gültiger zu sein. Ich habe es in Chrom getestet.
Saumil

6
Das ist falsch. Im setTimeout wird FetchData () sofort ausgeführt. Sie müssen es in eine Funktion wie folgt einschließen: setTimeout (function () {FetchData ();}, 1000);
thatOneGuy

8

klingt wie Sie nach setInterval suchen . So einfach ist das:

function FetchData() {
  // do something
}
setInterval(FetchData, 60000);

Wenn Sie etwas nur einmal aufrufen möchten , gibt es setTimeout .


0

setTimeout (func, 5000);

- Es ruft die Funktion func () nach der angegebenen Zeit auf. hier 5000 Millisekunden, dh) nach 5 Sekunden

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.