Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 RpcRequestBuilder 拦截并对我在应用程序上进行的每个 RPC 进行一些一般性修改。有没有办法,如果我在我的 RpcRequestBuilder 上捕获了一个 throwable,并且我知道我应该再次尝试执行 RPC,重新启动相同的 RPC?这在理论上是可能的,我只是不知道如何再次启动 RPC 请求。(是的,我会小心不要进入循环:))
您是否尝试过简单地send()调用RequestBuilder?
send()
RequestBuilder
AFAICT,唯一的问题是,如果您有一个具有Request(或RequestBuilder)返回类型的异步方法:返回的Request将是第一个请求中的那个,第二个请求将被忽略,因此不能被调用核心中止. 为了允许这种情况,您必须RequestBuilder从您RpcRequestBuilder的create()方法返回一个子类,重写send()以返回一个Request委托给真实 Request的特殊子类(并允许它被交换,因此您可以设置与重试相对应的子类)。
Request
RpcRequestBuilder
create()