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

| 我是整个异步游戏的新手(大多是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()
    
已邀请:
您需要“绑定”您的其他参数。 使用functools.partial,如下所示:
items = ..
iteration = ..
cb = functools.partial(self.resp, items, iteration)
或者您可以使用lambda,如下所示:
cb = lambda : self.resp(items, iteration)
(您可能需要将签名添加到def resp(自身,项目,迭代,响应):)     
如果您是从RequestHandler内部调用fetch,则还可以考虑使用gen.coroutine装饰器。在这种情况下,您无需在回调中添加额外的参数,因为您可以在与fetch调用相同的作用域中看到结果。     

要回复问题请先登录注册