Ciao Ho 2 chiamate ajax nel mio script, ho bisogno che eseguano asnyc per risparmiare tempo, ma ho bisogno che il secondo attenda fino al termine del primo.jQuery Attendi fino a quando le chiamate asincrone asincrone sono finite
$.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");
}
});
Quindi qualche idea? Grazie
ma questo renderà il tempo di esecuzione più lungo, perché la seconda chiamata verrà avviata dopo il primo era finito, stavo pensando a qualcosa di simile a questo: nel primo successo invito posso impostare una variabile su true, e in secondo richiamo successo che posso fare while (variabile == false) {wait} e poi continua, ma non so come scriverlo correttamente – user1352324
L'unico modo per fare un 'wait' sarebbe di 'setTimeout' e quindi controllare la variabile globale. Ma tecnicamente, ciò significa che il tuo timeout potrebbe accadere dopo che la chiamata è stata completata, ma è ancora in attesa. Sarebbe meglio mostrare semplicemente all'utente una gif rotante o qualcosa che indichi che il server sta funzionando. – Tejs