We've talked about the problems that would come from this a lot in node.js.
One of the best comments I thought was from Jeremy Ashkenas (creator of coffeescript). http://groups.google.com/group/nodejs/browse_thread/thread/c334947643c80968/9533c06d486c10e6?lnk=gst&q=jashkenas#9533c06d486c10e6 -Mikeal On Sep 2, 2011, at September 2, 20118:02 AM, Xavier MONTILLET wrote: > Hi, > > I'm just a lambda JavaScript programmer who loves building black boxes > with the smallest APIs possible and a couple of hours ago, I found out > Proxys existed and since then, I've been watching talks and reading > articles about them. And it sure looks awesome. > > But there's one thing I didn't get: > Will we be able to use them to provide an API for remote objects? > > Because it looks it it can but it lacks the asynchronous aspect. > This guys says it will: > http://code.google.com/p/es-lab/wiki/Talks#Changes_to_ECMAScript,_Part_2:_Harmony_Highlights_-_proxies_and > But when I look at the draf ( > http://wiki.ecmascript.org/doku.php?id=harmony:proxies#an_eventual_reference_proxy > ), the only sentence I see "asynchronous" in is this one: > "This example shows how to implement a proxy that represents an > eventual reference, enforcing asynchronous property access on an > object." > > And in the code below, the only thing that might do something > asynchronous is this: > > get: function(receiver, name) { > return promiseFor(function(){return obj[name];}); > }, > > And it sounds more like it returns some value and *then* gets the real one. > And this promiseFor function appears nowhere else on the page... > > And if it can not be asynchronous, it (probably) can't be used in > Node.JS which, apart from the browser, will more likely become one of > the most used JavaScript environment. > But the thing is that if you provide both a synchronous and an > asynchronous APIs, it might become a big mess... > The the best solution seems to be to provide only an asynchronous API > with a callback given as argument to get, set, has, hasOwn and so on. > > But then is gets quite strange because you do: > > var value = proxy.property; > > and it does > > var value = handler.get( proxy, 'property' ); > > but if get is asynchronous this can not work... > Or then it has to be some strange C++ code and we loose all the > interest of having asynchronous requests in the first place. > > Thank you in advance for your potential future response. > > ------------------------------------------------------------ > > To put it in a nutshell: Will Proxys support asynchronous requests? > > ------------------------------------------------------------ > > If my question is dumb and / or pointless, I'm sorry for wasting your time. > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

