Feliz 2017 a todos, esta es la primera entrada del año. Una cuestión sencilla de javascript ¿para qué valen las funciones setInterval() y setTimeout() y en qué se diferencian?
Pues ambas funciones tienen el mismo objetivo: ejecutar otra función pasado un intervalo de tiempo. ¿En qué se diferencian? En que setTimeout() se ejecutará solamente una vez, mientras que setInterval() lo hará en repetidas ocasiones.
Por ejemplo, podríamos usar setInterval() para que se mostrara en pantalla cuántos segundos llevamos desde que se cargó la página:
/*definimos una función que cada ponga en un cuadro de texto un valor numérico, sumando uno cada vez que la invocamos*/ function showSeconds(){ var val = document.getElementById("tiempo").value; document.getElementById("tiempo").value = parseInt(val)+1; } /*usamos setTimeout() para que se ejecute cada segundo (1000 milisegundos como parámetro)*/ setInterval(showSeconds,1000);
O podríamos usar setTimeout() para dar un aviso al usuario a los diez segundos de entrar
/*función que sólo hace un alert*/ function funcAvisa(){ window.alert("Pareces interesado en esta sección"); } /*se la llama a los 10 segundos*/ setTimeout(funcAvisa,10000);
Así funcionan los dos temporizadores de Javascript.
hola que tal, como puedo obtener tiempo de actualización desde un JSON
setTimeout(funcAvisa,10000);
setTimeout(funcAvisa,JSON.actualiza);
var tiempo = 0;
function principal
{
leerJson();
setTimeout(funcAvisa,tiempo);
}
leerJson()
{
var xmlhttp = new XMLHttpRequest();
etc
etc
var arreglo = JSON.Parse
for(arreglo)
{
tiempo = arreglo[i].Actualizacion; //almacena el tiempo para cada actualización
}
}
Como le puedo hacer para que tome el valor “actualización” desde la primer corrida, ya que cuando inicia el ciclo “tiempo” siempre es igual a 0,
¿me puedes ayudar?