如何在Tornado中调用额外的异步方法?

时间:2016-12-06 08:17:38

标签: asynchronous tornado python-3.5

我想从龙卷风中的其他库中调用异步方法,如下所示:

class Database:
    async def find_info(user_id):
        pass

class TestClass(tornado.web.RequestHandler):
    def get(self, id):
        db = Database()
        user = yield db.find_info(user_id=id)
        return self.write(user.username)

但它会像睡眠模式一样,我永远不会得到任何结果。

1 个答案:

答案 0 :(得分:2)

还有哪些图书馆?大多数异步函数是为特定的事件循环(Tornado,asyncio,Twisted等)编写的。除非您要求,否则不同的事件循环不会合作。您可能希望使用tornado.platform.asyncio.AsyncIOMainLoop

启用Tornado / asyncio互操作性