Android RxJava2 retryWhen用法未编译

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->{})

但是,试图在Kotlin中向RxJava2改型2调用添加retry,无法找到正确的语法

做了一些研究,发现我在使用模式时需要使用Retry,例如(重试3次):

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