[Twisted-Python] Twisted vs jQuery Deferreds (was Re: RPC design questions)
Tobias Oberstein
tobias.oberstein at tavendo.de
Wed Aug 24 17:30:07 MDT 2011
Found something: it seems in jQuery 1.6 they have introduced something which corresponds
more closely to Twisted Deferreds callback/errback chains:
// prints 23
sess.call("square", 23).pipe(function(res) {
return sess.call("sqrt", res);
}).pipe(console.log);
http://api.jquery.com/deferred.pipe/
I am still wondering why they called the other stuff "then()" when it's not then, but "also()"
and "pipe()" is the real <then> ;)
And now they have then() _and_ pipe().
This is all asking for confusion. - Whatever.
Tobias
On 25.08.11 00:52, "Tobias Oberstein" <tobias.oberstein at tavendo.de> wrote:
Ok. This is most unpleasant. In particular since my options then are:
1) write my own, sane (Twisted like, which I think is the sane way) JS deferred, not use jQuery/CommonJS (which everyone else does)
2) open the door for users running into issues when they do both Twisted & JS/jQuery and don't understand the subtle difference
bad.
of course not a Twisted mailing list topic anymore .. I'll go to jQuery list.
Thanks!
Tobias
On 25.08.11 00:36, "Allen Short" <washort at twistedmatrix.com> wrote:
No, this is something jQuery and CommonJS got wrong; callbacks don't chain in their implementation.
Firing a jQuery promise invokes each callback in order with the same argument. Firing a Deferred in Twisted invokes the first callback then passes its return value as the arg to the next callback, and so forth.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20110824/c3bcd24b/attachment.html>
More information about the Twisted-Python
mailing list