我想嵌套兩個請求工廠調用彼此。我檢索一個post對象,並在success-method中再次使用同一個對象(僅用於測試目的,對於其他請求(例如persistence),我獲得相同的行爲)。GWT請求工廠 - 另一個請求的成功方法內的火災請求
問題是:只有第一個請求到達服務器。
我沒有收到任何錯誤消息。如果我調試代碼,一切正常,直到第二個請求被觸發。那麼什麼都沒發生即使我爲第二個請求的接收者實現了「onFailure」方法,後端上的方法也不會被調用,前端也不會顯示錯誤。
public class RequestFactoryFindTest extends GWTTestCase{
/**
* must refer to a valid module that sources this class.
*/
public String getModuleName() {
return "com.Test.MyTest";
}
public void test(){
final ClientFactory clientFactory = GWT.create(ClientFactoryImpl.class);
final MyRequestFactory requestFactory = clientFactory.getRequestFactory();
final PostRequest request = requestFactory.postRequest();
request.findPost(1l).fire(new Receiver<PostProxy>() {
@Override
public void onSuccess(PostProxy response) {
final ClientFactory clientFactory = GWT.create(ClientFactoryImpl.class);
final MyRequestFactory requestFactory = clientFactory.getRequestFactory();
final PostRequest request = requestFactory.postRequest();
System.out.println("outer success");
request.findPost(1l).fire(new Receiver<PostProxy>() {
@Override
public void onSuccess(PostProxy response) {
System.out.println("inner success");
}
});
}
});
}
}
有人可以解釋這一點嗎?
編輯:
我嘗試了很多東西想觸發事件總線上的事件,捕捉事件,做我的內在要求廠家電話那裏。但沒有任何工作。我認爲這是GWTTestcase與RequestFactory結合的一些問題。 我也改變了我的代碼,所以我只使用一個clientFactory。
我無法解釋,但我可以告訴你,你應該只爲您的整個應用程序的單一'MyRequestFactory'。您應該也可以爲'ClientFactory'做到這一點。 –
試過了,但沒有改變任何東西 – jan