Почему AJAX называется асинхронным? - PullRequest
6 голосов
/ 28 октября 2011

Почему AJAX называется асинхронным?Как он осуществляет асинхронную связь с сервером?

Ответы [ 6 ]

23 голосов
/ 28 октября 2011

Он асинхронный в том смысле, что не блокирует браузер.Если вы запускаете Ajax-запрос, пользователь все еще может работать, пока запрос ожидает ответа.Когда сервер возвращает ответ, выполняется обратный вызов для его обработки.

Вы можете сделать XMLHttpRequest синхронным, если хотите, и если вы это сделаете, браузер блокируется, пока запрос не выполнен (поэтому большинствовремя это неуместно)

16 голосов
/ 28 октября 2011

Это асинхронно, потому что клиент и сервер работают независимо друг от друга на время вызова функции.

Во время обычного вызова функции вы делаете вызов, и вызывающая функция не может выполняться снова, пока вызов функции не завершится и не завершится. Звонящий и вызываемый всегда синхронизируются.

Во время асинхронного вызова функции вы делаете вызов, а затем элемент управления немедленно возвращает вызывающей стороне. Вызываемый затем возвращает значение некоторое неопределенное количество времени спустя. Это «неопределенное количество времени» означает, что вызывающий и вызываемый абоненты больше не синхронизируются, поэтому он асинхронный.

0 голосов
/ 31 января 2017

Синхронный всегда поддерживает последовательность при вызове, но асинхронный не поддерживает последовательность.

0 голосов
/ 05 февраля 2016

Клиент и сервер работают независимо друг от друга на время вызова функции.

Обычный вызов функции - вы делаете вызов, и вызывающая функция не может выполняться снова, пока вызов функции не завершится и не вернется. Звонящий и вызываемый всегда синхронизируются.

Асинхронный вызов функции - вы делаете вызов, а затем управление сразу же возвращается к вызывающей стороне. Вызываемый затем возвращает значение некоторое неопределенное количество времени спустя. Это «неопределенное количество времени» означает, что вызывающий и вызываемый абоненты больше не синхронизируются, поэтому он асинхронный.

0 голосов
/ 02 декабря 2015

т.е. не " blocking " в контексте выполнения Javascript, так как ответ будет обработан циклом событий.

0 голосов
/ 28 октября 2011

Проще говоря, не нужно перезагружать всю страницу, чтобы получить новую информацию. Подумайте о почтовом клиенте. Вам не нужно обновлять страницу, чтобы увидеть новые электронные письма. Ajax просто тянет сервер каждые пару минут, чтобы увидеть, есть ли новые электронные письма, если да, отобразите их

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...