[Twisted-Python] need help with waitForDeferred...

Thomas Jung Thomas.Jung at iisb.fraunhofer.de
Tue May 10 04:25:10 EDT 2005


Hi everybody,

I am new to twisted, and still experimenting.
Found the following code somewhere, looks very interesting,
but when I run the script (python 2.3.3), just nothing happens....
What am I missing ?

Any hint greatly appreciated, thank you !



from twisted.internet import reactor
from twisted.internet import defer

waitFor = defer.waitForDeferred

def getSomeDeferred():
    d = defer.Deferred()
    reactor.callLater(
        2, d.callback, 'This is a string that yells "foo!"')
    return d

def anotherDeferred(needle, haystack):
    d = defer.Deferred()
    reactor.callLater(
        2, d.callback, haystack.find(needle))
    return d

@defer.deferredGenerator
def find(needle):
    d = waitFor(getSomeDeferred())
    yield d
    haystack = d.getResult()
    print 'I got my first deferred result'
    d = waitFor(anotherDeferred(needle, haystack))
    yield d
    print 'I found', repr(needle), 'at character', d.getResult()
    return

find('foo!')
reactor.run()




-- 
Thomas Jung
Fraunhofer-Institut IISB
91058 Erlangen, Schottkystr. 10
+49 9131 761264




More information about the Twisted-Python mailing list