失败后重新启动GWT-RPC请求
我正在使用RpcRequestBuilder拦截并对我在应用程序上所做的每个RPC进行一些常规修改。 有没有办法,如果我在我的RpcRequestBuilder上发现了一个可丢弃的,并且我知道我应该再次尝试做RPC,重新启动相同的RPC?这在理论上是可能的,我只是不知道如何再次启动RPC请求。失败后重新启动GWT-RPC请求,gwt,gwt-rpc,Gwt,Gwt Rpc,我正在使用RpcRequestBuilder拦截并对我在应用程序上所做的每个RPC进行一些常规修改。 有没有办法,如果我在我的RpcRequestBuilder上发现了一个可丢弃的,并且我知道我应该再次尝试做RPC,重新启动相同的RPC?这在理论上是可能的,我只是不知道如何再次启动RPC请求。 (是的,我会小心不要进入循环:)您是否尝试过在RequestBuilder上调用send() 在AICT中,唯一的问题是如果您有一个带有请求(或请求生成器)返回类型的异步方法:返回的请求将是来自第一个请求
(是的,我会小心不要进入循环:)您是否尝试过在
RequestBuilder
上调用send()
在AICT中,唯一的问题是如果您有一个带有请求
(或请求生成器
)返回类型的异步方法:返回的请求
将是来自第一个请求的请求,第二个请求将被忽略,因此调用核心无法中止。考虑到这种情况,您必须从
RpcRequestBuilder
的create()
方法返回RequestBuilder
的子类,覆盖send()
以返回一个特殊的请求
子类,该子类委托给真实的请求
(并允许它被交换,以便您可以设置与重试相对应的服务)。我实际上没有这样的异步服务,但因为第一个rpc失败(在异步回调上执行onFailure(Throwable)),这真的不应该是一个问题,对吗?作为第二个请求,将触发onSuccess并获得预期结果。我可以给你一个例子:假设我使用某种会话管理,并在每个rpc上验证会话的有效性。现在,如果会话被检测为“超时”,将显示一个登录框,在成功登录后,我想重复第一个rpc,即启动超时/登录屏幕的rpc。使用send()是否可行?