AJAX запрашивает синхронный и асинхронный

Есть ли разница в производительности (скорости) между синхронным запросом и асинхронным запросом?

Каковы все причины использования асинхронного запроса ??


person rahul    schedule 27.06.2009    source источник
comment
Обратите внимание, что это устарело: stackoverflow.com/questions/11448011/   -  person Christophe Roussy    schedule 24.04.2014


Ответы (3)


В большинстве случаев вам следует всегда использовать асинхронный запрос Ajax, на самом деле я знаю только об одном месте, где следует использовать синхронный запрос Ajax, а именно, если вы используете запрос Ajax, встраивающий новый файл JavaScript на клиенте, а затем ссылаясь на типы и / или объекты из этого файла JavaScript в ответе из исходного запроса Ajax. Затем получение этого нового файла JS должно (или может быть разумно) быть включено с помощью синхронного запроса Ajax ...

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

person Thomas Hansen    schedule 27.06.2009
comment
Этот вопрос все еще появляется в результатах поиска - принятый ответ уже не является хорошим. Правильная форма - прикрепить событие к загружаемому скрипту, что и делает requirejs. - person Josh; 04.12.2015

@Thomas Hansen ответ правильный, но я нашел четкое объяснение с преимуществами Asynchronous.

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

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

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

У меня есть еще одна ссылка, поясняющая реальный пример. (ссылка - это конкретный инструмент, поэтому разберитесь в логике)

  • Основное отличие - время отклика наших серверов. Во время загрузки синхронный проверит файл и создаст пароль в реальном времени. Асинхронный отправляет файл в очередь нашего сервера и отправляет уведомление по электронной почте после его обработки.

  • Синхронный режим не идеален для нескольких больших файлов CSV, так как вам нужно будет дождаться обработки файла сервером, чтобы отправить другой запрос. В случае больших файлов это также может привести к тому, что ваши браузеры будут возвращаться с ошибками тайм-аута из-за чрезмерной занятости сервера. Если у вас есть несколько файлов, асинхронный режим позволит вам отправить несколько файлов в очередь сервера для обработки с получением электронной почты после завершения.

https://www.aspsnippets.com/Articles/Difference-between-Synchronous-Sync-and-Asynchronous-Async-Request-Call-in-AJAX.aspx

person Ajay2707    schedule 05.10.2018

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

person Prasad    schedule 19.02.2014