2009-12-03 29 views
0

我有一個大量使用RPC調用的GWT應用程序。我想在通話過程中顯示一個微調圖標。顯示圖標很簡單,但我想在一個地方無縫地完成,因此我不必爲每個呼叫顯式隱藏和顯示圖標。是否可以爲每個GWT RPC調用無縫顯示ajax微調器?

我想我正在尋找類似於jQuery的ajaxStart和ajaxStop事件。

有沒有人做過這樣的事情?

乾杯 田

回答

2

你爲什麼不落實的具體實現AsyncCallback的這種行爲和子類都來自這一個AsyncCallbacks。或者,您可以在使用常規AsyncCallback的地方使用裝飾模式,並使用另一個顯示/隱藏彈出窗口的裝飾模式來裝飾它。

或者,如果您使用命令模式,則可以將這些事件添加到您的命令模式實現中,並且您可以註冊每次發送/接收請求時顯示/隱藏彈出窗口的處理程序。

+0

我認爲裝飾者模式是實現這一點的最好方法。但我希望看到這是GWT在稍後版本中提供的標準功能。 – sbidwai

+0

我想我會需要兩個。一個AsyncCallback基類,用於處理微調器的停止以及每個異步接口的裝飾器類。問題是,我有很多不同的異步接口,嘗試將所有這些接口單獨包裝起來會很麻煩。關於如何一般地做到這一點的任何想法? 在標準的java中,AOP會解決這種問題,但我不確定是否有GWT等價物。 – triggerNZ

1

迴應建議裝飾者不足的意見。

abstract class AbstractAsyncCallback <T> implements AsyncCallaback <T> 
{ 
public AbstractAsyncCallback() 
{ 
    Foo.showIcon(); 
} 

@Override public void success (T t) 
{ 
    doSuccess(t); 
    Foo.hideIcon(); 
} 

@Override public void failure() 
{ 
    doFailure(); 
    Foo.hideIcon(); 
} 

public abstract void doSuccess (T t); 

public abstract void doFailure (T t); 
}; 
相關問題