只是在这方面苦苦挣扎。如果我有一个异步请求处理程序,它在执行期间调用其他执行某些操作的函数(例如异步数据库查询),然后它们自己调用“完成”,我是否必须将它们标记为异步?因为如果应用程序的结构类似于示例,我会收到有关多次调用“完成”的错误。我想我错过了什么。
class MainHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
@gen.engine
def post(self):
#do some stuff even with mongo motor
self.handleRequest(bla)
@gen.engine
def handleRequest(self,bla):
#do things,use motor call other functions
self.finish(result)
所有函数都必须用异步标记吗?谢谢