android - 有什么方法可以在可观察对象发出任何项目之前执行代码? (用于重试目的)

标签 android rx-java observable retrofit2

我想通过订阅重试一个可观察对象。一切顺利,但现在我每次重试此可观察对象时都尝试执行一些代码。有什么建议么?

observableItem.retry(1).subscribeWith(subscriber);

最佳答案

您需要 doOnSubscribe 运算符,它在订阅 observable 时起作用(在 observable 发出任何项目之前)。

...
observableItem
        .doOnSubscribe(subscriber1 -> {
            // Do whatever you want to de before retry.
        })
        .retry(1)
        .subscribeWith(subscriber)
...

注意:我没有测试过。请测试并告诉我。

希望对您有所帮助。

关于android - 有什么方法可以在可观察对象发出任何项目之前执行代码? (用于重试目的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47668247/

相关文章:

javascript - Phonegap for Android 上的 window.requestFileSystem 失败,代码为 9

android - 获取 "Sony Internet TV"(Google TV) 市场上的 Android 应用程序

android - RxJava 和 Retrofit - 根据服务器响应引发自定义异常

javascript - 如何中止来自 Observable 的 Ajax 请求?

android - IndexOutOfBoundsException setSpan (0 ... 1) 超出长度 0 结束

android - 如何在 BehaviorSubject 中设置默认值

android - 如果 View 永远不可见,我应该在 View 生命周期的哪个点取消订阅?

javascript - RxJS 使用第一个流的输出运行第二个流

javascript - 在 Angular 4 中对 http 请求使用解析时出错

android - sqlite从 Assets 中的文本文件批量插入