我最近开始测试TornadoWeb的家庭项目,它使用jquery getJSON函数来调用我的龙卷风处理程序。并发现一些奇怪的东西,我寻求解释。
我在龙卷风上发出 Handler1 的ajax请求,并且在某些情况下, Handler1 之前启动 Handler2 的请求。从开发服务器日志和firebug控制台调试看, Handler2 请求等待 Handler1 请求完成,然后返回。所以基本上,XHR调用正在等待早期的XHR。它们应该是异步/非阻塞的吗?或者我错过了什么。
您可以使用main.py作为服务器触发文件,在 http://github.com/harshh/Harsh-Projects/ 上检查名为 testtornado 的测试用例环境。
我很感激任何能够对此有所了解的人的帮助。
答案 0 :(得分:0)
在查看test.js文件后,get_handler1和get_handler2完全相互独立。但是,您的浏览器或代理(如果您使用的话)可能会强制每个域限制一个请求,这将导致您的XHR请求看起来是同步的。流行的HTTP调试代理(如Fiddler)可以强制执行此类限制 - 浏览器也可能具有可以修改的设置,以确保您的浏览器可以同时为每个域发出多个请求。
答案 1 :(得分:0)
这里无法得到更好的解释。虽然可以找到一些更好的见解Tornado group discussion。感谢。