Показать сообщение отдельно
  #11 (permalink)  
Старый 23.07.2017, 19:55
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

Я задал конкретный вопрос, а вы развели какую-то демагогию на пустом месте. Запрос к серверу, асинхронный он или нет, завершается одним и тем же - загрузкой данных (ну или ошибкой, но этот вариант мы сейчас не рассматриваем). Всё. Исполнение скрипта (и вызов callback) - это уже отдельная магия jQuery и реализована она может быть по-разному в зависимости от особенностей браузера.


В общем, нашёл объяснение на странице https://stackoverflow.com/questions/...d-vs-execution в последнем посте (за авторством Bizniztime), в котором есть ссылка на http://perfectionkills.com/global-ev...e-the-options/

--- похоже, что до jquery-2.1.0 для выполнения скриптов использовался window.eval() с откатом на window.execScript() для IE и некоторых других очень старых браузеров. И вот эта execScript() не возвращает результата выполнения, поэтому коллбек будет запущен в любом случае.
Так что документация не врёт (хотя могли бы осветить этот момент подробней) и лучше не закладывать порядок выполнения колбека в алгоритм.
Ответить с цитированием