0

我有一个大量使用 RPC 调用的 GWT 应用程序。每当通话进行时,我想显示一个微调器图标。显示图标很容易,但我想在一个地方无缝地做到这一点,所以我不必为每个呼叫显式隐藏和显示图标。

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

有没有人做过这样的事情?

干杯锡

4

2 回答 2

2

为什么不在 AsyncCallback 的具体实现中实现此行为,并将所有 AsyncCallback 子类化。或者,您可以使用装饰器模式,在其中使用常规 AsyncCallback 并用另一个显示/隐藏弹出窗口的模式来装饰它。

或者,如果您使用命令模式,您可以将这些事件添加到您的命令模式实现中,并且您可以注册一个处理程序,该处理程序在每次发送/接收请求时显示/隐藏弹出窗口。

于 2009-12-03T07:17:52.533 回答
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);
};
于 2012-11-23T16:51:06.043 回答