我有一個大量使用RPC調用的GWT應用程序。我想在通話過程中顯示一個微調圖標。顯示圖標很簡單,但我想在一個地方無縫地完成,因此我不必爲每個呼叫顯式隱藏和顯示圖標。是否可以爲每個GWT RPC調用無縫顯示ajax微調器?
我想我正在尋找類似於jQuery的ajaxStart和ajaxStop事件。
有沒有人做過這樣的事情?
乾杯 田
我有一個大量使用RPC調用的GWT應用程序。我想在通話過程中顯示一個微調圖標。顯示圖標很簡單,但我想在一個地方無縫地完成,因此我不必爲每個呼叫顯式隱藏和顯示圖標。是否可以爲每個GWT RPC調用無縫顯示ajax微調器?
我想我正在尋找類似於jQuery的ajaxStart和ajaxStop事件。
有沒有人做過這樣的事情?
乾杯 田
你爲什麼不落實的具體實現AsyncCallback的這種行爲和子類都來自這一個AsyncCallbacks。或者,您可以在使用常規AsyncCallback的地方使用裝飾模式,並使用另一個顯示/隱藏彈出窗口的裝飾模式來裝飾它。
或者,如果您使用命令模式,則可以將這些事件添加到您的命令模式實現中,並且您可以註冊每次發送/接收請求時顯示/隱藏彈出窗口的處理程序。
迴應建議裝飾者不足的意見。
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);
};
我認爲裝飾者模式是實現這一點的最好方法。但我希望看到這是GWT在稍後版本中提供的標準功能。 – sbidwai
我想我會需要兩個。一個AsyncCallback基類,用於處理微調器的停止以及每個異步接口的裝飾器類。問題是,我有很多不同的異步接口,嘗試將所有這些接口單獨包裝起來會很麻煩。關於如何一般地做到這一點的任何想法? 在標準的java中,AOP會解決這種問題,但我不確定是否有GWT等價物。 – triggerNZ