[Twisted-Python] perspective broker question
radix at twistedmatrix.com
Tue Apr 22 11:39:11 EDT 2003
On 2003.04.22 05:13, Egor Cheshkov wrote:
> Hello everyone! Newbie question. I need to make a blocking call in
> perspective_X() method. So I put my call into separate thread and get a
> deferred wich will be called back when data available. But deferred
> could not be returned from perspective_X method (not sure).
Yes, you can return a Deferred from a perspective_ method and it will
do the right thing.
Also, you can do something like this
#doSomeOperation here returns a Deferred
return doSomeOperation().addCallbacks(self.mungeIt, self.ohCrap)
... And implement mungeIt and ohCrap to take the result, munge it in some
useful way, and return it. The return value will be used as the result
on the client side (who originally did callRemote('X'))
This way you can do some processing on the result of your operation
before the client gets it, if you need to.
For more info on Deferreds, http://twistedmatrix.com/documents/howto/defer
Twisted | Christopher Armstrong: International Man of Twistery
Radix | Release Manager, Twisted Project
More information about the Twisted-Python