2016-12-19 7 views
0

ausführt Ich habe einen Stück Code, der so aussieht:Ajax-Aufruf während einige Code

for (var i = 0; i < n; i++) { 
    $.ajax({ 
     method: "POST", 
     url: './something.jsp', 
     data : i, 
     success: function(data) { 
     ... 
     } 
    }); 
} 

Das ‚for‘ Erklärung für einige Zeit ausgeführt wird und während ausführt ich nicht einen anderen Ajax-Aufruf ausführen kann.

Was ist die beste Vorgehensweise für so etwas und was kann ich tun, um einen weiteren Ajax-Aufruf auszuführen, während meine for-Anweisung ausgeführt wird?

+1

Es wird schon tun, was Sie dafür verlangen. Die for-Schleife wird bis zum Ende ausgeführt, wobei "n" -Anfragen nacheinander abgefeuert werden, ohne dass dazwischen eine Verzögerung auftritt und ohne darauf zu warten, dass jeder beendet wird. Sobald die for-Schleife abgeschlossen ist, wird der Code nach ausgeführt, während auf die Ajax-Anforderungen gewartet wird. –

+0

Die Frage ist wirklich, was versuchst du eigentlich zu tun? Wo ist dieser "andere" Ajax-Ruf? –

+0

Ich nehme an, Sie möchten 1 bis n Ajax-Anrufe gleichzeitig ausführen. Vielleicht möchten Sie https://css-tricks.com/multiple-simultaneous-ajax-requests-one-callback-jquery/ lesen. – Vinny

Antwort

1

Was ich denke, dass Sie fragen, ist etwas, das die Linien der Multi-threading, die Javascript nicht hat.

I.e.

StartNewThread (AjaxLoop)

Mainthread: DoMoreStuffEvenIfAjaxLoopIsntComplete()

Die nächst ich denke, man kann dazu bekommen, obwohl ich es benutzt havnt selbst ist mit Web Workers http://www.w3schools.com/html/html5_webworkers.asp wenn dies wirklich für neueren Browser ist.