Ravi, You can't give developers all options to design their own way. JavaScript doesn't do all options, therefore you can't have all options in GWT.
The only thing a synchronous call does which an async call doesn't, is to lock up the user's browser - all tabs, not just yours. This is, relatively speaking, bad, when compared to allowing the user to continue to use his/her computer while your application goes and does something. And it may be a generalisation, but nevertheless, I think it's true to say that bad things are not good. Say I have two tabs, your app and Google search. Can you give me one (just one) instance where you need (let alone have the right) to stop me using Google search while your application is off doing something? And how would you stop me if I had two browser windows open? Synchronous calls are bad relative to the alternative. Ian 2008/8/27 ping2ravi <[EMAIL PROTECTED]> > > Jason, > I think any framework should give all options to developer to design > his own way, and poor design and good design are all relative terms, > so cant do generalization of that. > But thanks for sharing your thoughts. > > cheers, > Ravi :) > > On Aug 26, 7:14 pm, Jason Essington <[EMAIL PROTECTED]> wrote: > > nope, again, this use case shows a poor decision of using a > > synchronous request. In fact I'm not aware of a single good use of a > > synchronous request in a browser. > > > > I do this very thing using Async RPCs. I start by opening a modal > > dialog. the user can type his credentials into the "login" dialog, and > > submit them. > > The submit button is disabled as soon as it is pressed, but the dialog > > is not dismissed preventing any clicking anywhere else in the > > application. > > Once the RPC returns indicating that the user has successfully > > authenticated, the dialog is dismissed, and any original RPC (that > > triggered the session timeout notification) is resent. > > > > There are glass panels Modal Dialogs and other techniques that prevent > > the user from poking about in the application that do not lock up the > > browser, and any of those techniques should be used long before > > attempting to hack in a Synchronous request. > > > > There is no case where you as a programmer should cause your user's UI > > to completely lock up. It is fine to disable bits, but synchronous > > requests don't play nice, they completely lock up the browser, in some > > cases, not allowing the user to switch tabs, or browse other pages, or > > even close the browser. Users don't like that, and as a result, will > > equate the behavior with poor programming on your part. So, just don't > > do it. > > > > -jason > > > > On Aug 26, 2008, at 11:53 AM,ping2raviwrote: > > > > > > > > > yes i do have have workaround for this, but was just wondering if i > > > can use any of GWT feature. > > > Also i read in GWT FAQ, GWT do not support Synchronous calls and in > > > future they are not planning to have it(they have some theory). So i > > > guess need to implement my own workaround. > > >http://code.google.com/support/bin/answer.py?answer=55195&topic=10210 > > > > > But guys just a question of thought, Don't you think having a > > > synchronous call feature will be added advantage. > > > > > Lets say u build a application and u have something like if user > > > logged out of application because of idle session then when user try > > > to do anything on application. instead of forwarding him to some user > > > login page , we just popup a login/password panel thing. And usually > > > on click we will call the login on server and close the dialogue > > > box(againw e can keep it open and in onSuccess function we can close > > > it, but for me not a good idea) > > > And as the call is asynchrnous so once we call the Login on server, > > > user is allowed to do other click in application(before he actually > > > login to server) and he will again see that u r not logged in. > > > Its just a small example. > > > > > But i think having synchronous call will be good thing. > > > > > Thanks for reading > > > Ravi. > > > > > On Aug 26, 5:03 pm, "Pavel Byles" <[EMAIL PROTECTED]> wrote: > > >> can't you just do: > > >> doTaskCallBack { > > >> onResponse(...) { > > >> userService.doSynchronousTask(...); > > >> } > > > > >> } > > > > >> Wouldn't that just give the synchronous effect? > > > > >> On Mon, Aug 25, 2008 at 6:24 AM,ping2ravi<[EMAIL PROTECTED]> > > >> wrote: > > > > >>> Hi All, > > > > >>> Does any one know how to make Synchronous calls using GWT. > > >>> Currently i am using GWT to build services, creating files like > > > > >>> com.app.client.MyService.java > > >>> //One function in this interface > > >>> doMyTask(ParamTpye myparams) throws ClientException; > > > > >>> com.app.client.MyServiceAsync.java > > >>> //One function in this interface > > >>> doMyTask(ParamTpye myparams,AsyncCallback callback) throws > > >>> ClientException; > > > > >>> com.app.server.MyServiceImpl.java > > >>> //One function in this class > > >>> doMyTask(ParamTpye myparams) throws ClientException; > > > > >>> now i create the service and call > > >>> MyServiceAsync userService = (MyServiceAsync) > > >>> GWT.create(MyService.class); > > >>> ServiceDefTarget endpoint = (ServiceDefTarget) userService; > > >>> String moduleRelativeURL = GWT.getModuleBaseURL() + "MyService"; > > >>> endpoint.setServiceEntryPoint(moduleRelativeURL); > > >>> userService.doMyTask(MyParams,CallBackObject); > > > > >>> This piece of code is working fine as a ASYNCHRONOUS call. > > > > >>> Then i tried making is synchronous call using following code(i don't > > >>> know if its valid or not) > > >>> instead of using MyServiceAsync i am using MyService > > > > >>> MyService userService = (MyService) GWT.create(MyService.class); > > >>> ServiceDefTarget endpoint = (ServiceDefTarget) userService; > > >>> String moduleRelativeURL = GWT.getModuleBaseURL() + "MyService"; > > >>> endpoint.setServiceEntryPoint(moduleRelativeURL); > > >>> userService.doMyTask(MyParams); > > > > >>> But call to doMyTask throw following exception. > > >>> java.lang.ClassCastException in MyService_Proxy. > > > > >>> So i guess this is not the way to make synchronous call in GWT > > >>> Can any one point me how to do that. Or its not possible at all in > > >>> GWT. > > > > >>> Thanks in advance., > > >>> Ravi. > > > -- Ian http://examples.roughian.com ___________________________________ Life is either a daring adventure or nothing. Security is mostly a superstition. It does not exist in nature. - Helen Keller ___________________________________ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
