6

クライアント側で RequestFactory リクエストを傍受する方法はありますか?

次のような呼び出しを傍受したい:

dummyRequest.dummyOperation().fire( new Receiver<String>() {
  @Override
  public void onSuccess(String response) {        
  }
});

アイデアは、サーバーと通信するときに負荷の兆候を示すことです。

4

2 に答える 2

6

デフォルトのトランスポート実装をオーバーライドして、RF初期化中に渡すことができます。

SampleRequestFactory factory = GWT.create( SampleRequestFactory.class );
factory.initialize( new SimpleEventBus(), new DefaultRequestTransport() );

DefaultRequestTransportから継承し、メソッドをオーバーライドできます

send(String payload, TransportReceiver receiver)

スーパー実装を呼び出す前にいくつかの処理を実行し、結果を処理するためにTransportReceiverをデリゲートでラップします。

于 2011-09-30T18:20:26.920 に答える
3
final DefaultRequestTransport requestTransport = new DefaultRequestTransport() {
        @Override
        public void send(final String payload, final TransportReceiver receiver) {
            GWT.log("making rpc");
            final TransportReceiver proxy = new TransportReceiver() {
                @Override
                public void onTransportFailure(final ServerFailure failure) {
                    GWT.log("rpc returned");
                    receiver.onTransportFailure(failure);
                }

                @Override
                public void onTransportSuccess(final String payload) {
                    GWT.log("rpc returned");
                    receiver.onTransportSuccess(payload);
                }
            };

            super.send(payload, proxy);

}
于 2011-11-01T04:02:19.853 に答える