Wie übergebe ich zusätzliche Argumente an Callback-Funktionen mit twisted python api?

8

Ich habe den folgenden Python-Code mit der verdrehten API.

%Vor%

Es verwendet die Twisted API. Was ich erreichen möchte, ist, an die Callback-Funktion (Ergebnisse) den Wert des Namens zu übergeben, der in jeder Iteration konstruiert wird, ohne den Inhalt der Funktion functions_which_returns_a defer () zusammen mit dem verzögerten Objekt natürlich zu ändern. In jedem Ergebnis der Funktionen, die zurückgegeben werden, sollte der Wert des Namens an results () übergeben werden, um etwas damit zu tun. Dh: Bei der ersten Iteration, wenn die Ausführung die Ergebnisfunktion erreicht, muss die Funktion das Ergebnis des deaktivierten Objekts zusammen mit dem Wert des Namens halten, wenn i = 0, dann wird bei i = 1 das übergangene Objekt mit dem Wert von übergeben Name, und so weiter. So brauche ich jedes Mal das Ergebnis des Defer-Objekts, wenn es mit der Namensvariablen alond mit der Variablen name aufgerufen wird. Wenn ich versuche, den Wert von namesinside results () direkt zu verwenden, enthält es immer den Wert der letzten Iteration, was logisch ist, da function_which_returns_a defer (name) nicht zurückgegeben wurde.

    
curious 25.10.2011, 14:43
quelle

1 Antwort

15

Sie können zusätzliche Argumente an einen Deferred -Rückruf an der Aufrufseite Deferred.addCallback übergeben, indem Sie diese Argumente einfach an Deferred.addCallback :

übergeben %Vor%

Sie können Argumente auch nach Schlüsselwort übergeben:

%Vor%

Alle Argumente, die an addCallback (oder addErrback ) übergeben werden, werden an die Callback-Funktion übergeben.

    
Jean-Paul Calderone 25.10.2011, 14:58
quelle

Tags und Links