Tengo unas funciones (externas, que no son propias de mi hosting) que lanzan una rutina AJAX, la cual devuelve Texto (es decir, al final hay un innerHTML = texto).
Posteriormente tengo que acceder a un elemento de lo retornado por AJAX.
El problema está en que no puede acceder al elemento porque cuando llega a esa línea de JS todavía no ha cargado el AJAX, no se si me explico.
Entonces le puse un setTimeout, para esperar que acabe el AJAX y que funcione bien.
El problema que le veo a esto es que si yo tengo mi conexión de internet a 30mb, con un timeout bajo me saldrá, pero alguien que tenga 1mb quizás no...
Entonces, cómo puedo hacer para saber cuándo el AJAX ha terminado?
Probé hacer un bloque Try/Catch en un bucle, así
Código:
pero claro, se me quedaba la web clavada en el bucle...function postAJAX(){ b = false; while(!b){ b = true; try{ //cosas }catch(err){ b = false; } } }
Mi idea es hacer algo así como: "pruebo de lanzar con un setTimeout, si falla vuelve a hacerlo; hasta que funcione", pero no sé si se puede "dormir" la rutina o algo así para que no se quede en un bucle infinito...
Gracias!