2013-03-13 134 views
2

async=falseasync=true有什麼區別,當我用open的方法XMLHttpRequest同步請求和異步請求之間有什麼區別? (async = true/false)

function GetXML() { 

    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } 
    else {// code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = test 
    xmlhttp.open("GET", "PlanetCafe.xml", true); 
    xmlhttp.send(null); 
} 

回答

8

Mozilla Developer: Synchronous and Asynchronous Requests

XMLHttpRequest支持同步和異步通信。但是,通常,出於性能原因,異步請求應該優先於同步請求。

簡而言之,同步請求會阻止代碼的執行,並可能泄漏內存和事件。這可能會導致嚴重問題。使用同步請求的唯一可行理由是爲了更方便地在Web Workers之內便於下載。