2011-09-30 46 views
6

Có cách nào để chặn các yêu cầu RequestFactory trên phía máy khách không?Ngăn chặn yêu cầu GWT Yêu cầu của nhà máy

Tôi muốn chặn cuộc gọi như thế này:

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

Ý tưởng là để cho thấy một số dấu hiệu bốc khi giao tiếp với máy chủ.

Trả lời

6

Bạn có thể ghi đè lên thực hiện vận chuyển mặc định và vượt qua nó trong RF khởi:

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

Bạn có thể kế thừa từ DefaultRequestTransport và ghi đè lên các phương pháp

send(String payload, TransportReceiver receiver) 

Do một số xử lý trước khi gọi các siêu thi và bọc TransportReceiver với một đại biểu để xử lý kết quả.

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); 

} 
Các vấn đề liên quan