有没有办法在客户端拦截 RequestFactory 请求?
我想拦截这样的电话:
dummyRequest.dummyOperation().fire( new Receiver<String>() {
@Override
public void onSuccess(String response) {
}
});
这个想法是在与服务器通信时显示一些加载指示。
有没有办法在客户端拦截 RequestFactory 请求?
我想拦截这样的电话:
dummyRequest.dummyOperation().fire( new Receiver<String>() {
@Override
public void onSuccess(String response) {
}
});
这个想法是在与服务器通信时显示一些加载指示。
您可以覆盖默认传输实现并在 RF 初始化期间传递它:
SampleRequestFactory factory = GWT.create( SampleRequestFactory.class );
factory.initialize( new SimpleEventBus(), new DefaultRequestTransport() );
您可以从 DefaultRequestTransport 继承并覆盖该方法
send(String payload, TransportReceiver receiver)
在调用超级实现之前做一些处理,并用委托包装 TransportReceiver 来处理结果。
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);
}