只是尝试使用Tornado的异步函数 - 我想从我的处理程序调用一个方法,但它一直告诉我它“有一个意外的关键字参数'回调'”。
class MyHandler(tornado.web.RequestHandler):
@asynchronous
@gen.engine
def get(self):
response = yield gen.Task(self.dosomething, 'argument')
self.write(response)
self.finish()
def dosomething(self, myargument):
pass
答案 0 :(得分:21)
非阻塞功能需要回调,它会传递结果。
class MyHandler(tornado.web.RequestHandler):
@asynchronous
@gen.engine
def get(self):
response = yield gen.Task(self.dosomething, 'argument')
self.write(response)
self.finish()
def dosomething(self, myargument, callback):
return callback(myargument)