2013-09-27 37 views
1

當談到同步調用和GWT中的異步調用時,我有點困惑。在GWT中,RPC調用是同步的或異步的

我相信GWT會使得異步呼叫。

我很清楚Synchronous正在等待響應,並且在得到響應後執行下一個命令。

它不是異步的情況,因爲它從不等待響應。在獲得響應之前,它立即執行下一個命令。

但是我可以在一些博客中看到說RPC是Synchronous ..... 而使用RPC的GWT不是同步的。我明白,只要我發送請求,它永遠不會等待。

  1. RPC是否真的同步?
  2. 如果是的話,GWT如何做出異步RPC?

還是我誤解了什麼?

+2

你在一般或GWT-RPC談論RPC協議明確? – chrylis

+0

兩者都是......我需要的是GWT-RPC? –

回答

4

當然,GWT RPC(Remote Procedure Calls)是Asnyc。實際上,所有基於AJAX的實現都是Asnyc。 讓我們在下面的例子來看看:

emailService.emptyMyInbox(fUsername, fPassword, new AsyncCallback() { 
    public void onSuccess(Void result) { 
     // do some UI stuff to show success 
    } 

    public void onFailure(Throwable caught) { 
     // do some UI stuff to show failure 
    } 
}; 
// do something more 

我們調用服務的第一線,執行之後,瀏覽器將執行行// do something more,無論是否返回結果還是不行。

欲瞭解更多信息,請參閱Dev Guide Server Communication

+0

謝謝#enrybo,#chenmingi鏈接真的很爛............ –