Hola Tengo 2 llamadas ajax en mi secuencia de comandos, las necesito ejecutar asnyc para tener tiempo libre, pero necesito que la segunda espere hasta que termine la primera.jQuery Espere hasta que las llamadas async ajax hayan finalizado
$.ajax({
type: "POST",
url: "getText.asmx/ws_getText",
data: parO1,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d.data);
}
, error: function() {
chyba("chyba v požadavku", "df");
}
});
if (parO2.length > 0) {
$.ajax({
type: "POST",
url: "getText.asmx/ws_getText",
data: parO2,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
/*WAIT UNTIL THE FIRST CALL IS FINISHED AND THAN DO SOMETHING*/
}
, error: function() {
chyba("chyba v požadavku", "df");
}
});
¿Alguna idea? Gracias
pero esto hará que el tiempo de ejecución más largo porque la segunda llamada se pondrá en marcha después de que el primero fue terminado, yo estaba pensando en algo como esto: en primer éxito llamado i puede establecer alguna variable en true, y en segundo éxito de llamadas que puedo hacer while (variable == false) {wait} y luego continuar, pero no sé cómo escribir esto correctamente – user1352324
La única manera de hacer una 'espera' sería 'setTimeout' y luego verificar su variable global. Pero técnicamente, eso significa que su tiempo de espera puede pasar después de que se realiza la llamada, pero todavía está esperando. Sería mejor que simplemente le muestre al usuario un gif giratorio o algo para indicar que el servidor está funcionando. – Tejs