2012-08-10 16 views
34

In JavaScript, come posso chiamare una funzione dopo un intervallo di tempo specifico?Javascript: chiama una funzione dopo un periodo di tempo specifico

Qui è la mia funzione Voglio correre:

function FetchData() { 
} 
+3

'setTimeout()'? 'SetInterval()'? – Pointy

+0

Dove implementare setTimeout()? – Shaggy

+1

Come può essere più semplice pubblicare una domanda qui rispetto alla ricerca su Google per "funzione di chiamata javascript dopo un intervallo di tempo specifico"? – deviousdodo

risposta

95

È possibile utilizzare JavaScript Timing Events per chiamare la funzione dopo un certo intervallo di tempo :

Questo mostra la finestra di avviso dopo 3 secondi:

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

è possibile utilizzare due modalità di evento in tempo javascript.i.e.

  1. setInterval(): esegue una funzione, più e più volte, ad intervalli di tempo specificati
  2. setTimeout(): esegue una funzione, una volta, dopo aver atteso un numero specificato di millisecondi
+2

chiaramente dichiarato grazie – Andrew

8

suona come stai cercando setInterval. E 'facile come questo:

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

se desideri solo chiamare qualcosa una volta, c'è setTimeout.

9

eseguire la funzione FetchData()volta dopo 1000 millisecondi:

setTimeout(FetchData,1000); 

eseguire la funzione FetchData()ripetutamente ogni 1000 millisecondi:

setInterval(FetchData,1000); 
+2

Suppongo che in caso di 'setInterval()' le parentesi tonde per il nome della funzione i.e. 'FetchData' non dovrebbe essere presente perché attiva la funzione una sola volta. setInterval (FetchData, 1000) sembra più valido. L'ho provato in cromo. –

+4

Questo non è corretto. Nel setTimeout FetchData() verrà eseguito immediatamente. È necessario avvolgerlo in una funzione come questa: setTimeout (function() {FetchData();}, 1000); – thatOneGuy

0

setTimeout (func , 5000);

- richiamerà la funzione denominata func() dopo il tempo specificato. qui, 5000 milli secondi, cioè dopo 5 secondi

Problemi correlati