我有一個思想實驗。在我的代碼中,我有一個全局變量,說var changeMe;
,我正在做幾個Ajax調用。Javascript Ajax可能導致死鎖嗎?
//call One -- third param is the callback function
ajaxFunction(url1, params,function(data){
changeMe = data;
});
//call Two
ajaxFunction(url2, params,function(data){
changeMe = data;
});
所以changeMe
值將取決於Ajax調用完成最後,這意味着最後結束將覆蓋值呼叫。
如果兩次通話都完全在的同一時間完成,同一時間戳怎麼辦?
由於Javascript是單線程的,我們通常不會遇到這個問題,但這可能會出現在setTimeout
和Ajax調用的情況下。我不知道如何能夠精確地複製這個問題,所以它仍然是一個思想實驗。
那麼在多線程條件下如何處理死鎖?
我更喜歡changeMe
的答案將是url1
或url2
,以及明確的情況說明..
在此先感謝
http://stackoverflow.com/questions/7575589/how-does-javascript-handle-ajax-responses-in-the-background/7575649#7575649 – 2013-05-09 08:58:35
在JavaScript中,你只有一個線程,所以會有沒問題。 – erikkallen 2013-05-09 09:04:31
@Ishank ...感謝fr tht ..但我沒有得到一個簡單的答案fr這個... – Sarath 2013-05-09 09:59:49