龙卷风AsyncHTTPClient获取回调:额外的参数?

发布于 2021-01-29 15:26:36

我是整个异步游戏的新手(大多是Django家伙),但我想知道:如何将额外的参数传递给Tornado的AsyncHTTPClient.fetch回调?例如,我正在跟踪调用回调的次数(以便等到执行一定次数后再处理数据),并且我想执行以下操作:

def getPage(self, items,iteration):
    http = AsyncHTTPClient()    
    http.fetch(feed, callback=self.resp(items,iteration))
def resp(self, response, items, iteration):
    #do stuff
    self.finish()
关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您需要“绑定”您的其他参数。使用functools.partial,如下所示:

    items = ..
    iteration = ..
    cb = functools.partial(self.resp, items, iteration)
    

    或者您可以使用lambda,如下所示:

    cb = lambda : self.resp(items, iteration)
    

    (您可能需要将签名添加到def resp(自身,项目,迭代,响应):)



知识点
面圈网VIP题库

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

去下载看看