我有一个使用RPC调用的GWT应用程序。我想在呼叫进行时显示一个微调器图标。显示图标很容易,但我想在一个地方无缝地进行,所以我不必明确隐藏并显示每个调用的图标。
我想我正在寻找类似于jQuery的ajaxStart和ajaxStop事件的东西。
以前有人做过这样的事吗?
干杯 锡
答案 0 :(得分:2)
为什么不在AsyncCallback的具体实现中实现此行为,并从此子类化所有AsyncCallbacks。或者你可以使用一个装饰器模式,你可以使用常规的AsyncCallback并用另一个显示/隐藏弹出窗口的装饰模式进行装饰。
或者,如果您使用命令模式,您可以将这些事件添加到命令模式实现中,并且您可以注册一个处理程序,在每次发送/接收请求时显示/隐藏弹出窗口。
答案 1 :(得分: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);
};