【发布时间】:2015-08-20 12:01:52
【问题描述】:
我开始了一个长的基于文件的数据库搜索,它应该运行异步并让浏览器端单独处理其他请求,但它似乎阻塞了。有什么问题?
class Handler(tornado.web.RequestHandler):
def initialize(self, param):
self.db = param
@tornado.web.asynchronous
@gen.engine
def post(self):
try:
self.set_status(200)
response = yield gen.Task(self.handleSearch, self.request.arguments)
self.finish(response)
except BaseException, s:
logging.exception(s)
self.finish("Error tonight, cause: %s" % s)
def handleSearch(self, request, callback):
return callback(self.db.createList(request))
【问题讨论】:
-
这是什么意思,“让浏览器端不管[..],但它似乎阻止了”?!
-
我有一个 html 页面,可以向服务器发送多个请求(例如通过按钮)。当搜索查询运行时,该页面的其余部分(例如通过其他按钮的请求)应该可以访问,
-
那么发生了什么?你如何向服务器发送请求?如果 client 端 阻塞听起来更像 client 端 不是异步...!?
-
一个html按钮调用如下函数 function search(event) { event.preventDefault() var data;数据 = $(".o").serialize(); $.post("seach",data,function(response) { document.getElementById("results").innerHTML = response } }); }
-
请帮助:我怎样才能漂亮地打印输入到评论中的代码?