Как узнать, начинается ли навигация по странице или нет? - PullRequest
0 голосов
/ 05 января 2012

Я сталкиваюсь с этой проблемой С прошлого дня. Вот она и вам нужна помощь.

Я работаю над веб-приложением и отправляю и получаю данные с сервера через RPC.

Моя проблема в том, что если я нажал на какое-либо действие, я отправляю запрос, и если я нажал на любые другие ссылки, которые переходят на страницу в другое представление, без извлечения данных первого RPC, я получаю исключение из-за этой навигации.

Мне нужно избежать этого, зная навигацию.

здесь я написал код. Проверяет один раз:

    @Override
public void onFailure(Throwable exception) {


      if (exception instanceof StatusCodeException) {
        if (((StatusCodeException) exception).getStatusCode() == 403) {
            MyExcclass.showMessage("session expired");
            logout();
        } else {
            MyExcclass.showInformation("unable to perform the action");
        }
    }
    exception.printStackTrace();

}

Я не могу выполнить действие.

1 Ответ

0 голосов
/ 05 января 2012

Если страница выгружается при возврате ответа RPC, вы должны увидеть StatusCodeException с getStatusCode() из 0.

Если хотите, вы можете предварительно отменить запросы в пределах Window.addCloseHandler.Это означает, что вам нужно будет предоставить свои RpcRequestBuilder для каждой удаленной службы, чтобы сохранить экземпляры RequestSet) до тех пор, пока они не будут завершены (вы должны обернуть RequestCallback, чтобы удалить связанныеRequest из Set в onSuccess или onFailure);и в вашем CloseHandler вы будете выполнять итерацию от Set до cancel() всех ожидающих Request.В целом, дело getStatusCode() == 0 легче обрабатывать вашими методами AsyncCallback.onFailure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...