Ich habe ein Gedankenexperiment. In meinem Code habe ich eine globale Variable sagen var changeMe;
und ich mache ein paar Ajax Anrufe.Kann Javascript Ajax zu Deadlocks führen?
//call One -- third param is the callback function
ajaxFunction(url1, params,function(data){
changeMe = data;
});
//call Two
ajaxFunction(url2, params,function(data){
changeMe = data;
});
So changeMe
Wert wird davon abhängen, welche Ajax beendet letzte, rufen, die den Anruf bedeutet, die letzte beendet den Wert überschreiben.
Was ist, wenn beide Anrufe genau bei zur gleichen Zeit enden, gleiche Zeitstempel?
Da Javascript single-threaded ist, werden wir normalerweise dieses Problem nicht bekommen, aber dies kann im Fall von setTimeout
und Ajax Anrufe auftreten. Ich weiß nicht, wie ich dieses Problem präzise reproduzieren kann, also bleibt es immer noch ein Gedankenexperiment.
Also wie in Multi-Thread-Bedingungen wird ein Deadlock behandelt?
Ich ziehe eine Antwort wie changeMe
url1
sein wird oder url2
und eine klare Situation Erklärung ..
Vielen Dank im Voraus
http://stackoverflow.com/questions/7575589/how-does-javascript-handle-ajax-responses-in-the-background/7575649#7575649 –
In JavaScript haben Sie nur einen einzigen Thread, so wird es sein kein Problem. – erikkallen
@Ishank ... danke fr tht..aber ich habe nicht ein einfaches ans für dieses ... – Sarath