JavaScript - Funcion con setinterval

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 6 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Funcion con setinterval

Publicado por Javier (23 intervenciones) el 15/12/2012 21:16:56
Hola, buenas noches.
Tengo esta funcion:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function cargadatos(){
 
 //ejecuto la query  y retorna los datos con ajax
 
    var json;
    var strUrl = "leergpx.php";
    jQuery.ajax({
       url:strUrl,
       success:function (data){
	cargabalizas(data);
	},
       dataType: "json"
    });
   setInterval('cargadatos()',10000);
};


Que como veis se deberia ejecutar cada 10 segundos (si es lo que yo creo).
Al principio va biene pero conforme van pasando los ciclos es como si se "acelerase".
En el ciclo 4 (osea los 40 segundos) se va reptidiendo como si se ejecutase mas de una vez y asi sucesivamente hasta repetirse como si fuera de manera exponencial...
Indicar que el proceso leergpx.php leer de mysql una tabla y retorna los registros.

¿Que puede pasarle?.

Un saludo,
Javier.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Funcion con setinterval

Publicado por xve (2100 intervenciones) el 15/12/2012 21:51:17
Hola Javier, si el setInterval() esta dentro de la función, cada vez que se ejecuta al función, se doblara las veces que se ejecute.

Saca el setInterval fuera de la función...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function cargadatos(){
 
 //ejecuto la query  y retorna los datos con ajax
 
    var json;
    var strUrl = "leergpx.php";
    jQuery.ajax({
       url:strUrl,
       success:function (data){
        cargabalizas(data);
        },
       dataType: "json"
    });
};
setInterval('cargadatos()',10000);


Puede ser que confundas setInterval() con setTimeout()

En tu función, puedes reemplazar setInterval por setTimeout y te funcionar bien...

http://www.w3schools.com/jsref/met_win_setinterval.asp
http://www.w3schools.com/jsref/met_win_settimeout.asp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 6 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Funcion con setinterval

Publicado por Javier (23 intervenciones) el 16/12/2012 08:10:45
Como siempre, gracias.
Ya funciona, he tenido que crear una funcion para que funcione correctamente.
La idea es que una vez pulsado un boton de la pagina se inicie dicho proceso y se ejecute cada 10 segundos.
Ahora aparentemente funciona.

Un saludo,
Javier.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar