Android RxJava2 retryWhen用法未编译
但是,试图在Kotlin中向RxJava2改型2调用添加retry,无法找到正确的语法 做了一些研究,发现我在使用模式时需要使用Retry,例如(重试3次):Android RxJava2 retryWhen用法未编译,android,kotlin,rx-java,rx-java2,Android,Kotlin,Rx Java,Rx Java2,但是,试图在Kotlin中向RxJava2改型2调用添加retry,无法找到正确的语法 做了一些研究,发现我在使用模式时需要使用Retry,例如(重试3次): valapi:Single=。。。; 应用程序编程接口 .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .retryWhen{errors-> 错误 .zipWith(Observable.range(1,3),{index:Int->{})
valapi:Single=。。。;
应用程序编程接口
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.retryWhen{errors->
错误
.zipWith(Observable.range(1,3),{index:Int->{})
.平面图{
计数:Int->Observable.timer(5,TimeUnit.SECONDS)
}
}
.subscribe{}
但这样做会导致各种构建错误:
None of the following functions can be called with the arguments supplied:
@CheckReturnValue @BackpressureSupport @SchedulerSupport public final fun <U : Any!, R : Any!> zipWith(p0: ((Subscriber<in (???..???)>!) -> Unit)!, p1: ((Throwable, ???) -> ???)!): Flowable<(???..???)>! defined in io.reactivex.Flowable
@CheckReturnValue @BackpressureSupport @SchedulerSupport public final fun <U : Any!, R : Any!> zipWith(p0: (Mutable)Iterable<(???..???)>!, p1: ((Throwable, ???) -> ???)!): Flowable<(???..???)>! defined in io.reactivex.Flowable
@CheckReturnValue @BackpressureSupport @SchedulerSupport public final fun <U : Any!, R : Any!> zipWith(p0: (Mutable)Iterable<(???..???)>!, p1: BiFunction<in Throwable!, in (???..???), out (???..???)>!): Flowable<(???..???)>! defined in io.reactivex.Flowable
@CheckReturnValue @BackpressureSupport @SchedulerSupport public final fun <U : Any!, R : Any!> zipWith(p0: Publisher<out (???..???)>!, p1: BiFunction<in Throwable!, in (???..???), out (???..???)>!): Flowable<(???..???)>! defined in io.reactivex.Flowable
使用提供的参数无法调用以下函数:
@检查返回值@BackpressureSupport@scheduler支持公共最终娱乐zipWith(p0:((订户!)->单位)!,p1:((可丢弃),->)!):可流动!在io.reactivex.Flowable中定义
@检查返回值@BackpressureSupport@scheduler支持公共最终乐趣zipWith(p0:(可变)Iterable!,p1:((可丢弃),->?)!):可流动!在io.reactivex.Flowable中定义
@CheckReturnValue@BackpressuresSupport@SchedulerSupport公共最终乐趣zipWith(p0:(可变)Iterable!,p1:BiFunction!):可流动!在io.reactivex.Flowable中定义
@CheckReturnValue@BackpressuresSupport@SchedulerSupport公共最终乐趣zipWith(p0:Publisher!,p1:BiFunction!):可流动!在io.reactivex.Flowable中定义
我错过了什么或做错了什么?我无法找到好的教程,我可以通过更好地理解这一点 要使用
BiFunction
,您必须使用操作符更改zip,如下所示:
.zipWith(Observable.range(1, 3), BiFunction { error: Throwable, index: Int -> index })
正如您在构建错误中所看到的,您必须在BiFunction
中提供Throwable
作为第一个参数,您必须使用BiFunction
操作符更改Zipw,如下所示:
.zipWith(Observable.range(1, 3), BiFunction { error: Throwable, index: Int -> index })
正如您在构建错误中看到的,您必须在BiFunction
中提供Throwable
作为第一个参数,我认为您需要显式调用BiFunction
我认为您需要显式调用BiFunction