Ich habe eine Callback-Kette mit einem Fehler am Ende. Wenn einer der Rückrufe fehlschlägt, muss ich ein Objekt übergeben, das auf errBack verwendet werden soll.Wie übergebe ich ein Objekt vom Rückruf zum Fehler (verdreht)?
Wie kann ich ein Objekt vom Rückruf an den Fehler übergeben?
Der folgende Code veranschaulicht, was ich tun möchte:
from twisted.internet.defer import FAILURE
from twisted.internet import defer
class CodMsg(object):
def __init__(self, code, msg):
self.code = code
self.msg = msg
class Resource(object):
@classmethod
def checkCondition(cls, result):
if result == "error":
cdm = CodMsg(1, 'Error 1')
raise FAILURE, cdm
else:
return "ok"
@classmethod
def erBackTst (cls, result):
####### How to get the value of cdm here? ######## <<<===
print 'Error:'
print result
return result
d = defer.Deferred()
d.addCallback(Resource.checkCondition)
d.addErrback(Resource.erBackTst)
d.callback("error")
print d.result
Excelent. Funktioniert gut. Danke @Evgeny Barbashov –