我正在使用RpcRequestBuilder拦截并对我在我的应用程序上创建的每个RPC进行一些常规修改。 有没有办法,如果我在我的RpcRequestBuilder上捕获了一个throwable,我知道我应该再次尝试RPC,重新启动相同的RPC?这在理论上是可行的,我只是不知道再次启动RPC请求会发生什么。 (是的,我会小心不要进入循环:))
答案 0 :(得分:0)
您是否曾尝试在send()
上致电RequestBuilder
?
AFAICT,唯一的问题是如果你有一个Request
(或RequestBuilder
)返回类型的异步方法:返回的Request
将是第一个请求中的那个,第二个请求将被忽略,因此不能被调用核心中止
为了允许这种情况,您必须从RequestBuilder
的{{1}}方法返回RpcRequestBuilder
的子类,覆盖create()
以返回特殊send()
委托给 real Request
的子类(并允许它被交换,所以你可以设置一个对应于重试的那个)。