Part of twisted.internet.defer.Deferred View Source
Deferred.
Each callback will have its result passed as the first argument to the
next; this way, the callbacks act as a 'processing chain'. If the
success-callback returns a Failure or
raises an Exception, processing will continue on the *error*
callback chain. If a callback (or errback) returns another Deferred, this
Deferred
will be chained to it (and further callbacks will not run until that Deferred has a
result).