0

我正在使用 RpcRequestBuilder 拦截并对我在应用程序上进行的每个 RPC 进行一些一般性修改。有没有办法,如果我在我的 RpcRequestBuilder 上捕获了一个 throwable,并且我知道我应该再次尝试执行 RPC,重新启动相同的 RPC?这在理论上是可能的,我只是不知道如何再次启动 RPC 请求。(是的,我会小心不要进入循环:))

4

1 回答 1

0

您是否尝试过简单地send()调用RequestBuilder?

AFAICT,唯一的问题是,如果您有一个具有Request(或RequestBuilder)返回类型的异步方法:返回的Request将是第一个请求中的那个,第二个请求将被忽略,因此不能被调用核心中止.
为了允许这种情况,您必须RequestBuilder从您RpcRequestBuildercreate()方法返回一个子类,重写send()以返回一个Request委托给真实 Request的特殊子类(并允许它被交换,因此您可以设置与重试相对应的子类)。

于 2012-05-14T09:59:59.807 回答