这是我的代码,问题是:
控制台输出 "before, {"result" : "-1", "msg" : "Server error"}"
,
但它不输出 "after, {"result" : "-1", "msg" : "Server error"}"
,
不执行 self.finish(res)
声明。
任何人都知道原因吗?我想让self.finish(res)
执行。请帮帮我!
def get(self, param):
try:
do_something()
except:
res = '{"result" : "-1", "msg" : "Server error"}'
logger.error('%s' % traceback.format_exc())
print("before, %s" % res)
yield tornado.gen.Task(self.captureException, exc_info=True)
print("after, %s" % res)
finally:
do_something()
self.finish(res)
答案 0 :(得分:0)
如果您使用yield gen.Task()
,则需要在方法中添加异步装饰器:
from tornado import gen, web
@web.asynchronous
@gen.engine
def get(self, param):
# your get method