Android 如何将throwable传播到Completable';下一个连锁店是什么?

Android 如何将throwable传播到Completable';下一个连锁店是什么?,android,rx-java,rx-java2,Android,Rx Java,Rx Java2,我正在使用RxJava开发一个Android应用程序 我有一些API调用链 核实 消耗 val verify=Completable.error(异常(“测试”)) .doOnSubscribe{Log.d(标记“1.verify”)} .doOnComplete{Log.d(标记“1.verify-success”)} .doon错误{Log.e(标记“1.verify-failed:${it.message}”)} .retryWhen{尝试-> 齐普威思先生( 可流动范围(1,3),双函数

我正在使用RxJava开发一个Android应用程序

我有一些API调用链

  • 核实
  • 消耗
  • val verify=Completable.error(异常(“测试”))
    .doOnSubscribe{Log.d(标记“1.verify”)}
    .doOnComplete{Log.d(标记“1.verify-success”)}
    .doon错误{Log.e(标记“1.verify-failed:${it.message}”)}
    .retryWhen{尝试->
    齐普威思先生(
    可流动范围(1,3),双函数{t,i->
    如果(i)
    Log.e(标记“failed:${t.message}”,t)
    })
    );
    
    我所期望的是

    “验证”应每1秒调用3次

    3次重试失败后,应执行此操作,但出现错误

    但在我的例子中,“消费”也是运行的

    为什么?

    如果“验证”失败,我想跳过“消费”


    我该怎么做?

    这是因为您的代码没有失败

    使用
    Flowable.range(1,3)
    可以创建一个从1到3的范围,这样就永远不会到达代码的其他部分

    尝试使用
    Flowable.range(1,4)
    ,您将看到正确的行为