使用Gen.task和Tornado来实现简单功能

发布于 2021-01-29 17:19:30

只是尝试使用Tornado的异步功能-我想从我的处理程序中调用一个方法,但它一直告诉我它“得到了意外的关键字参数’callback’”。

class MyHandler(tornado.web.RequestHandler):

    @asynchronous
    @gen.engine
    def get(self):
        response = yield gen.Task(self.dosomething, 'argument')
        self.write(response)
        self.finish()

    def dosomething(self, myargument):
        pass
关注者
0
被浏览
50
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    非阻塞函数需要回调,并在其中传递结果。

    class MyHandler(tornado.web.RequestHandler):
    
        @asynchronous
        @gen.engine
        def get(self):
            response = yield gen.Task(self.dosomething, 'argument')
            self.write(response)
            self.finish()
    
        def dosomething(self, myargument, callback):
            return callback(myargument)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看