2013-04-20 36 views
0

我是使用异步回调的新手,我不确定我计划做什么是做事的合适方法。我正在使用Google App Engine和Google Web Toolkit,他们提供了一种使用RPC服务执行异步回调方法的简单方法。我有基本的异步回调工作正常,但现在我正在寻找一些更复杂的东西。我想设置一些东西,以便用户可以立即使用的Web应用程序部分将首先加载,以便用户尽可能快地使用它。然后下载最多的可用部件将被加载等等。最终,我甚至想要得到更复杂的结果,并按照我刚刚描述的顺序加载所有内容,除非用户点击执行其他操作,然后首先加载该部分。GAE - 我应该链接异步回调?

我正在考虑这样做的方式是使用GAE和GWT中的异步函数调用,并且仅在一次调用的成功时启动下一次调用。这应该可以工作,但是需要加载的部分越多,代码就越像意大利面。有没有更好的方法来组织这些异步调用? Google是否提供了一种更好的方法来组织这些我不知道的内容?另外,我是否会走上一条完全错误的道路,应该做的与众不同?非常感谢!

回答

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"); 
     } 
    }); 
    } 
});