我有以下使用Twisted API的Python代码。
它使用了Twisted API。我想要实现的是在每次迭代中构造名称的值,同时不改变返回defer()函数的内容,并当然包括deferred对象。在functions_which_returns_a deffer的每个结果中,都应该将名称的值传递给results()以对其进行处理。例如:在第一次迭代时,当执行到results函数时,我需要函数保存延迟对象的结果以及i=0时名称的值,然后当i=1时,延迟对象将被传递给名称的值,依此类推。因此,每次调用defer对象时,我都需要传递名称变量的结果以及名称变量。当我尝试直接在results()中使用名称的值时,它总是保留最后一次迭代的值,这是合理的,因为function_which_returns_a defer(name)尚未返回。
def function(self,filename):
def results(result):
//do something
for i in range(int(numbers)) :
name = something that has to do with the value of i
df = function_which_returns_a defer(name)
df.addCallback(results)
它使用了Twisted API。我想要实现的是在每次迭代中构造名称的值,同时不改变返回defer()函数的内容,并当然包括deferred对象。在functions_which_returns_a deffer的每个结果中,都应该将名称的值传递给results()以对其进行处理。例如:在第一次迭代时,当执行到results函数时,我需要函数保存延迟对象的结果以及i=0时名称的值,然后当i=1时,延迟对象将被传递给名称的值,依此类推。因此,每次调用defer对象时,我都需要传递名称变量的结果以及名称变量。当我尝试直接在results()中使用名称的值时,它总是保留最后一次迭代的值,这是合理的,因为function_which_returns_a defer(name)尚未返回。