GAE - 我应该链接异步回调吗?

时间:2013-04-20 04:48:42

标签: java google-app-engine gwt asynchronous rpc

我是使用异步回调的新手,我不确定我计划的是否是适合做事的方法。我正在使用Google App Engine和Google Web Toolkit,它们提供了一种使用RPC服务执行异步回调方法的简单方法。我有基本的异步回调工作正常,但现在我想做一些更复杂的事情。我想进行设置,以便首先加载我的网络应用程序中立即可供用户使用的部分,以便用户尽可能快地使用。然后将加载下一个最可用的部件,依此类推。最终我甚至可能想要变得更复杂,并按照我刚才描述的顺序加载所有内容,除非用户点击进行其他操作,然后首先加载该部分。

我正在考虑这样做的方法就是在GAE和GWT中使用异步函数调用,只需在一次调用成功后启动下一个调用。这应该工作,但需要加载的部分越多,这个代码就越像有意大利面。有没有更好的方法来制作和组织这些异步调用? Google是否提供了一种更好的方法来组织我不知道的内容?另外,我是走错路还是应该做一些非常不同的事情?非常感谢!

1 个答案:

答案 0 :(得分:2)

不,rpc调用不是加载网站部分的方法。

请改为查看... https://developers.google.com/web-toolkit/doc/latest/DevGuideCodeSplitting

根据他们的示例,假设您想将Window.alert调用拆分为单独的代码下载:

  

按钮b =新按钮(“点击我”,新的ClickHandler(){

  public void onClick(ClickEvent event) {
    GWT.runAsync(new RunAsyncCallback() {
      public void onFailure(Throwable caught) {
        Window.alert("Code download failed");
      }

      public void onSuccess() {
        Window.alert("Hello, AJAX");
      }
    });
  }
});