草庐IT

ConnectingViewState

全部标签

android - 将 timeout() 与 retryWhen() 结合使用

我正在创建一个简单的应用程序,用于使用RxAndroidBle库连接蓝牙设备(为出色的工作干杯!)。我遇到的情况有时是当我连接到设备时收到状态为133的Gatt错误。我知道它可能会发生,所以我想做的是在发生该错误时重试所有操作。这不是问题,我可以使用retryWhen()运算符轻松做到这一点,但是我还有另一个要求-流必须在之后终止30秒(如果连接不成功)。我为此使用了timeout(),但问题是当我重试时,计时器再次启动。所以问题是如何将timeout()运算符与retryWhen()结合起来,这样我就可以在出现某些特定错误时重试,但保持计数器继续运行。我有一些关于组合可观察对象的想法