Разница между синхронным и асинхронным режимами работы с XMLHttpRequest заключается в том, как происходит загрузка данных. 5
Синхронный режим означает, что после вызова метода send() и до ответа сервера главный поток «замораживается»: посетитель не может взаимодействовать со страницей — прокручивать её, нажимать на кнопки и т. п.. 2 Выполнение JavaScript останавливается и возобновляется только после получения ответа. 3
Асинхронный режим предполагает, что браузер отправит запрос, а далее результат нужно будет получить через обработчики событий. 2 При этом загрузка страницы не блокируется, и пользователь может продолжать взаимодействие с веб-сайтом, пока данные загружаются в фоновом режиме. 5
Таким образом, асинхронные запросы предпочтительнее синхронных, так как они позволяют улучшить пользовательский опыт. 5
По умолчанию запрос отправляется в асинхронном режиме, для синхронного нужно указать параметр async равным false в методе open. 23