Jens, what if instead of using the isActive flag I check "view
.asWidget().isAttached()"?
That will return true only if the presenter's view is active, right? I 
actually use this in one place already successfully.

On Saturday, November 24, 2012 10:44:11 AM UTC-8, Jens wrote:
>
> If you see SQLExceptions just because the user navigates too quickly you 
> should analyse and fix your server code / database setup / querys!
>
> When you have solved this your only "problem" now is that both RPC 
> callbacks will be executed once their corresponding RPC request returns and 
> this may cause odd behavior in your UI if not handled. You have to detect 
> when a user leaves a page and store that fact in a field (e.g. boolean 
> isActive). Your callback should then check this field before executing its 
> onSuccess() code.
>
> Using GWT Activities you would set the flag to true in Activity.start() 
> and to false in Activity.stop() and Activity.cancel().
>
> Following the documentation for GWT-RPC you could also let your methods 
> return "Request" instead of "void", e.g.
>
> interface MyServiceAsync {
>   public Request myMethod(String s, AsyncCallback<String> callback);
> }
>
> this allows you to cancel the request on the client side (server will 
> still do its work once the request reaches the server).
>
> -- J.
>
>
>
> Am Freitag, 23. November 2012 19:04:13 UTC+1 schrieb Alexey Panteleev:
>>
>> Hello,
>>
>>  I've been struggling with this issue for a long time, 
>> maybe someone could help me address this finally?
>> From time to time it happens that a user navigates to one page wich 
>> issues an RPC to our server but then quickly navigates to another page 
>> which issues yet another RPC to the server while the 1st call is still 
>> being processed by the server. In this case I always see some kind of 
>> SQLException on the server side (I guess for the 1st call) and then the 
>> client also receives an unspecified Exception. 
>>
>>  What is the best practice for dealing with these situations? Should I be 
>> canceling the 1st call before allowing the 2nd one?
>> We use gwt-dispatch, I did not find  a cancel method in that framework 
>> yet. Or should I not allow any new calls until the active one has not 
>> finished?
>>
>>  Do you ever run into this w/ GWT?
>>
>> Thanks much,
>> Alexey
>>
>

-- 
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/-/nhKmVyYv2rcJ.
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.

Reply via email to