登録された遅延ルーチンが廃棄される defer クラスを作る。
from twisted.internet.defer import Deferred class StopDeferred(Deferred): def addCallbacks(self, callback, errback=None, callbackArgs=None, callbackKeywords=None, errbackArgs=None, errbackKeywords=None): pass
callback または errback の返り値として StopDeferred のインスタンスを返す。
def cb(ob): return StopDeferred()
呼び出し元のフレームを取得して twisted.internet.defer.Deferred._runCallbacks の cb を空にしても良いんですけどね。
StopIteration 風に raise StopDeferred ってできればいいのに。