0

这是我的代码,问题是:
控制台输出 "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)
4

1 回答 1

0

如果您正在使用,则yield gen.Task()需要将 asnyc 装饰器添加到您的方法中:

from tornado import gen, web

@web.asynchronous
@gen.engine
def get(self, param):
    # your get method
于 2013-09-06T11:02:04.717 回答