Форум сайта python.su
Поясните как вызвать одну декорированную inlinecallbacks функцию из другой
from twisted.internet import reactor from twisted.internet.defer import inlineCallbacks, returnValue, Deferred @inlineCallbacks def inline1(): d = Deferred() reactor.callLater(1, d.callback, 1) result = yield d print 'inline1', result result = inline2() print 'inline2', result @inlineCallbacks def inline2(): d = Deferred() reactor.callLater(2, d.callback, 2) result = yield d returnValue(result) reactor.callWhenRunning(inline1) reactor.run()
inline1 1
inline2 <Deferred at 0xb727d9ecL>
Офлайн
result = yield inline2()
Офлайн
Спасибо - это оно. Перечитал докстринг к Inlinecallbacks все стало на места. А то мне по невнимательности начало казаться, что inline2 возвращает d, Deferred созданный в ней локально.
Офлайн