JQuery-Ajax Chamadas em manipuladores de tornados esperam que a chamada permeável Ajax retorne
Pergunta
Recentemente, comecei a testar o Tornadoweb para um projeto em casa, que usa a função JQuery Getjson para chamar meus manipuladores de tornados. E encontrei algo estranho, para o qual procuro uma explicação.
Eu disparo um pedido de Ajax para Handler1 em tornado, e em alguns casos solicitar Handler2 é iniciado antes Handler1 retorna. Parece a partir de toras de desenvolvimento-servidor e console de Firebug, que Handler2 Solicitar espera Handler1 solicitação para terminar e depois retornar. Então, basicamente, a chamada XHR está esperando o XHRS anterior. Eles deveriam ser assíncronos/não bloqueando certo? Ou eu estou esquecendo de alguma coisa.
Você pode verificar o ambiente de teste chamado testtornado no http://github.com/harshh/harsh-projects/ com main.py como arquivo de acionamento do servidor.
Eu apreciaria a ajuda de quem pode jogar alguma luz sobre isso.
Solução 2
Não foi possível obter melhores explicações aqui. Embora algumas idéias melhores possam ser encontradas Discussão do grupo Tornado. Obrigado.
Outras dicas
Depois de revisar seu arquivo test.js, get_handler1 e get_handler2 são totalmente independentes um do outro. No entanto, seu navegador ou proxy (se você estiver usando um) pode estar aplicando uma solicitação por limite de domínio, o que faria com que suas solicitações XHR pareçam ser síncronas. Proxies populares de depuração HTTP, como o Fiddler, podem fazer cumprir esses limites - os navegadores também tendem a ter configurações que você pode modificar para garantir que seu navegador emitirá mais de uma solicitação por domínio simultaneamente.