[Twisted-Python] Syntactic sugar for deferreds

Phil Mayers p.mayers at imperial.ac.uk
Mon Dec 7 11:29:00 EST 2009


ssteinerX at gmail.com wrote:
> On Dec 7, 2009, at 9:50 AM, Konrads Smelkovs wrote:
> 
>> Hi,
>>
>> One project I had a look at had this nice syntactic sugar for async function chaining:
>>
>>>>> event_one() | event_two() | event_three()
>> I think this could be an interesting alternative to addCallback or yield. I propose the following syntax
>>
>> # get deferred with one () and two () chained as callbacks, equivalent to d=Deferred().addCallback(one).addCallback(two)
>>>>> d = Deferred() | one | two
>> # Equivalent to d=Deferred().addCallback(one).addErrback(two)
>>>>> d = Deferred() | one ^ two
>> and finally:
>> # d=Deferred().addBoth(one,two)
>>>>> d = Deferred() & (one,two)
> 
> Yuck.

Indeed. This looks more like perl than python.

http://www.python.org/dev/peps/pep-0020/



More information about the Twisted-Python mailing list