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 [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.