jquery-ajax call на обработчики торнадо ждут, когда вызов Ajax вернется, чтобы вернуться
Вопрос
Недавно я начал тестировать Tornadoweb для домашнего проекта, который использует функцию jQuery Getjson, чтобы вызвать мои обработчики Tornado. И нашел что -то странное, за которое я ищу объяснение.
Я запускаю запрос Ajax Обработчик1 на торнадо, а в некоторых случаях запрос Обработчик2 инициируется ранее Обработчик1 возврат. Он появляется из журналов серверов разработки и консоли Firebug, что Обработчик2 Запрос ждет Обработчик1 Запрос закончить, а затем вернуться. Так что в основном звонок XHR ждет более ранних XHR. Они должны быть асинхронными/не блокирующими? Или я что -то упускаю.
Вы можете проверить тестовую среду под названием TestTornado в http://github.com/harshh/harsh-projects/ с main.py в качестве файла запуска сервера.
Я был бы признателен за помощь от любого, кто может пролить свет на это.
Решение 2
Не мог получить лучшие объяснения здесь. Хотя можно найти некоторые лучшие идеи Обсуждение группы торнадо. Анкет Спасибо.
Другие советы
После просмотра вашего файла test.js Get_handler1 и Get_handler2 полностью независимы друг от друга. Тем не менее, ваш браузер или прокси (если вы используете один) могут обеспечить соблюдение одного запроса на домен, что приведет к тому, что ваши запросы XHR кажутся синхронными. Популярные прокси -серверы отладки HTTP, такие как Fiddler, могут обеспечить такие ограничения - в браузерах также, как правило, есть настройки, которые вы можете изменить, чтобы гарантировать, что ваш браузер будет выдавать более одного запроса на домен одновременно.