параметр «true» в методе xmlHttpRequest .open ()

Из ссылки, которую я прочитал в MDN, сказано

Если TRUE (по умолчанию), выполнение функции JavaScript будет продолжаться, пока ответ сервера еще не пришел.

Это A в AJAX.

Я использовал AJAX, но потом я был немного сбит с толку, когда прочитал это. Думаю, проблема в том, что я не совсем понимаю концепцию AJAX. Я, конечно, знаю, что AJAX не обновляет страницу, что означает, что соединение с сервером и ответ полностью выполняются в фоновом режиме.

Но что я могу представить в соответствии с этой ссылкой, так это то, что если у меня есть такой код в мой JavaScript:

//true, therefore process the function while server retrieves url
var xmlResponse;
var url = "http://example.com/file.xml";
xml_req.open("GET", url, true); 

xml_req.onreadystatechange = function() {
     if(xml_req.readyState == 4 && xml_req.status == 200) {
        if(xml_req.responseText != null)
             xmlResponse = xml_req.responseXML; //server response may not yet arrive
        else {
             alert("failed");
             return false;
        }
     };
xml_req.send(null);

Разве это не означает, что xmlResponse может быть неопределенным в том смысле, что сервер все еще получает данные? Может ли кто-нибудь объяснить, что на самом деле представляет собой поток выполнения в технологии AJAX? Заранее спасибо.

26
задан Arcath 6 June 2018 в 13:25
поделиться