Te explico.
Primero se llaman a unas rutinas AJAX que definen unas variables.
Después se llama a una rutina AJAX que formatea un texto.
Finalmente necesito cambiar un simple color del texto que devuelve.
Digamos así:
Código:
externoAJAXvariables(){//define unas variables; digamos v1 y v2};
externoAJAXtexto(v1, v2){//recibe v1 y v2, y me devuelve un texto, en el cual hay un div con un ID que conozco y que quiero cambiar mediante JS};
propioJScambiaColor(){
document.getElementById(id).style.backgroundColor='#123546';
};
Entonces, si la ejecución la hago sin pausas me falla ya que llama a la segunda rutina cuando la primera aún no ha terminado (y por tanto las variables no están definidas y me da error de JS).
Del mismo modo, se lanza la tercera función sin que esté la segunda completa, por lo que más de lo mismo.
Así, tengo hecho esto:
Código:
externoAJAXvariables();
window.setTimeout("externoAJAXtexto(), 1200);
window.setTimeout("propioJScambiaColor(), 2000);
A mí en mi navegador me funciona, y en general funciona bien. El problema es que no sé si con una conexión lenta bastarán 1,2 segundos, por eso comentaba lo de esperar a que terminara.
Espero que ahora sí quede algo más claro.
Saludos!