2013-04-20 51 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"); 
     } 
    }); 
    } 
});