问题链在flatMapCompletable之后可以完成

时间:2017-12-01 18:03:12

标签: kotlin rx-java2

对于每个Event,我想要发送并验证它。我有这段代码:

fun process(): Completable = 
    eventsDao.findAll()
        .flatMapCompletable(this::sendEventToServer)
        .andThen(this::validate) //Error here

fun send(event: Event): Completable = 
    //code 

fun validate(event: Event): Completable =
    //code
  

错误:(14,18)无法使用以下函数调用以下函数   提供的参数:@CheckReturnValue @SchedulerSupport public final   有趣然后(p0:((CompletableObserver) - >单位)!):可以完成!   在io.reactivex.Completable

中定义      

@CheckReturnValue @SchedulerSupport公共最终乐趣   然后(p0:((MaybeObserver) - > Unit)!):   也许≤(??? .. ???)&GT ;!在io.reactivex.Completable

中定义      

@CheckReturnValue @SchedulerSupport公共最终乐趣   然后(p0:((观察员) - >单位)!):   观察到≤(??? .. ???)&GT ;!在io.reactivex.Completable

中定义      

等等

问题在于:

.andThen(this::validate)

我自己没有event。我如何链接这些Completable

1 个答案:

答案 0 :(得分:1)

我找到了答案:

fun process(): Completable = 
    eventsDao.findAll()
        .flatMapCompletable(this::processEvent)

fun processEvent(event: Event) =
    send(event).concatWith(validate(event))

我真的很感激任何建议或更好的方式来做到这一点