是否可以为每个GWT RPC调用无缝显示ajax微调器?

时间:2009-12-03 00:10:31

标签: ajax gwt rpc spinner

我有一个使用RPC调用的GWT应用程序。我想在呼叫进行时显示一个微调器图标。显示图标很容易,但我想在一个地方无缝地进行,所以我不必明确隐藏并显示每个调用的图标。

我想我正在寻找类似于jQuery的ajaxStart和ajaxStop事件的东西。

以前有人做过这样的事吗?

干杯 锡

2 个答案:

答案 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);
};