私は RpcRequestBuilder を使用して、アプリケーションで作成したすべての RPC をインターセプトし、いくつかの一般的な変更を加えています。RpcRequestBuilder で throwable をキャッチし、RPC をもう一度実行する必要があることがわかっている場合、同じ RPC を再起動する方法はありますか? 理論的には可能ですが、RPC リクエストを再度開始するために何を変更すればよいかわかりません。(そして、はい、ループに入らないように注意します:))
1 に答える
0
単に を呼び出しsend()
てみましたRequestBuilder
か?
Request
AFAICT、唯一の問題は、 (またはRequestBuilder
)戻り値の型を持つ非同期メソッドがある場合です。返さRequest
れるのは最初の要求からのものであり、2 番目の要求は無視されるため、呼び出し元のコアによって中止できませんでした。 .
その場合に備えて、のメソッドRequestBuilder
からのサブクラスを返す必要があります。オーバーライドして、 realにデリゲートする特別なサブクラスを返します(そして、スワップできるようにするため、再試行に対応するものを設定できます)。 )。RpcRequestBuilder
create()
send()
Request
Request
于 2012-05-14T09:59:59.807 に答える