“yield”如何在tornado.gen.coroutine中起作用

时间:2015-02-07 23:11:52

标签: python tornado

我阅读了Tornado文档,我对gen.coroutine及其工作方式感到困惑。文档在这里:http://www.tornadoweb.org/en/stable/gen.html#module-tornado.gen 我无法理解的是这段代码是如何工作的:

class GenAsyncHandler(RequestHandler):
@gen.coroutine
def get(self):
    http_client = AsyncHTTPClient()
    response = yield http_client.fetch("http://example.com")
    do_something_with_response(response)
    self.render("template.html")

Tornado如何使用函数do_something_with_response()在yield使用yield结果后使方法get()继续?我试图在tornado.gen模块中读取函数_make_coroutine_wrapper()的源代码,但仍然无法理解这一点。有人能用简单的语言解释一下吗?

0 个答案:

没有答案