Anonim

По умолчанию запрос $ .ajax в jQuery установлен на асинхронный. Имя переменной асинхронно, а значение установлено в true. Это также немного озадачило меня, когда я впервые узнал об этом, так что давайте пройдемся по нему.

Асинхронный против Синхронного

Настройка по умолчанию в jQuery. По моему опыту, Asynchronous должен почти всегда делать свое дело. В частности, есть две ситуации, которые даже не допускают синхронный вызов.

  • Междоменные запросы. Если я делаю ajax-запрос от techjunkie.com в файл на whereever.com (совершенно другой домен), это будет междоменный запрос.
  • jsonp - если вы хотите получить кросс-домены данных JSON, JSONP - это то, что вы ищете.

Когда использовать синхронный

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

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

Разница между синхронным и асинхронным в ajax