我最近开始为家庭项目测试TornadoWeb,该项目使用jquery getJSON函数调用我的龙卷风处理程序。并发现了一些奇怪的东西,对此我寻求解释。

我在龙卷风上触发了对Handler1的ajax请求,在某些情况下,对Handler2的请求是在Handler1返回之前启动的。从开发服务器日志和firebug控制台调试中可以看出,Handler2请求等待Handler1请求完成,然后返回。因此,基本上,XHR呼叫正在等待较早的XHR。它们应该是异步/非阻塞的吗?还是我错过了什么。

您可以在http://github.com/harshh/Harsh-Projects/处使用main.py作为服务器触发文件检查称为testtornado的测试用例环境。

任何可以对此有所启发的人都将为我提供帮助。

最佳答案

查看完test.js文件后,get_handler1和get_handler2彼此完全独立。但是,您的浏览器或代理(如果使用的是代理服务器)可能会强制每个域限制一个请求,这将导致XHR请求看起来是同步的。诸如Fiddler之类的流行HTTP调试代理可以实施这样的限制-浏览器也倾向于具有可以修改的设置,以确保浏览器在每个域中并发多个请求。

07-24 15:22