Published On: 1970-01-01|Last Updated: 1970-01-01|Categories: Uncategorized|
登録された遅延ルーチンが廃棄される 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 ってできればいいのに。

関連