如何知道页面是否已开始导航?

时间:2012-01-05 05:01:36

标签: gwt

我从最后一天开始面对这个问题。这就是并且需要你的帮助。

我正在开发一个Web应用程序,并通过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 :(得分:0)

如果在RPC响应返回时卸载了该页面,您应该会看到StatusCodeException getStatusCode() 0

如果需要,您可以在Window.addCloseHandler内预先取消请求。这意味着您必须为每个远程服务提供自己的RpcRequestBuilder以保持Request个实例(在Set中),直到它们完成为止(您将包装{ {1}}从RequestCallbackRequest中的Set中移除关联的onSuccess;在您的onFailure中,您将对CloseHandlerSet所有待处理的cancel()进行迭代。总的来说,在Request方法中处理getStatusCode() == 0案例更容易。