On Monday, September 5, 2011 1:01:29 PM UTC-4, melody wrote: > > I wish to embed an asynchronous call to the server inside a method > that MUST NOT return until the server has responded. So I am looking > for a way to achieve a non-busy wait in GWT. I thought I could use a > modal popup dialog to stop the next line from being executed until the > dialog is closed and only after the response from server arrives. > Unfortunately the GWT modal dialog does not do what I thought it would > do -- which is block everything and wait at the line where the > PopupPanel.show() method is called. See method below > > <code> > public boolean doPost(String url, String postData) { > RequestBuilder builder = new > RequestBuilder(RequestBuilder.POST, url); > final int STATUS_CODE_OK = 200; > final PopupPanel dlg = new PopupPanel(); > dlg.setModal(true); > dlg.setGlassEnabled(true); > try { > builder.setHeader("Content-Type", "application/x-www-form- > urlencoded"); > builder.sendRequest(postData, new RequestCallback() { > public void onError(Request request, Throwable > exception) { > dlg.hide(); > } > > public void onResponseReceived(Request request, > Response response) { > int li_status = response.getStatusCode(); > if (li_status == STATUS_CODE_OK) { > //bravo > } > dlg.hide(); > } > }); > builder.setTimeoutMillis(3000); > dlg.show(); > return true; > } catch (RequestException e) { > GWT.log(e.getLocalizedMessage()); > } > return false; > } > </code> > > I want the line > > <code> > return true; > </code> > > to be executed only after the dialog is closed just like what would > happen if I used Window.confirm to achieve the modality as shown > below. > > <code> > Window.confirm("yes or no"); > return true; > </code> > > > Any ideas on how I can achieve this. > > > Thanks, > > Melody > >
-- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/CHczoRW3l8EJ. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.