gpt4 book ai didi

java - GWT 请求工厂 - 在另一个请求的成功方法内触发请求

转载 作者:行者123 更新时间:2023-11-30 04:19:04 25 4
gpt4 key购买 nike

我正在尝试将两个请求工厂调用嵌套在一起。我检索一个帖子对象,并在成功方法中再次使用同一对象(仅出于测试目的,对于其他请求,我得到相同的行为,例如持久化)。

问题是:只有第一个请求到达服务器。

我没有收到任何错误消息。如果我调试代码,一切都会正常,直到触发第二个请求。然后什么也没有发生。即使我为第二个请求的接收者实现“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。

最佳答案

尝试在第一个 onSuccess 方法中创建一个事件。当您的事件被处理时,您可以向服务器发送另一个请求。查看How to use the GWT EventBus使用事件总线。

托马斯·布罗耶的说法也是正确的。您应该只使用一个RequestFactory 和一个ClientFactory!

关于java - GWT 请求工厂 - 在另一个请求的成功方法内触发请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17577892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com