flatMapCompletable 之后的问题链接 Completable

Issue chaining Completable after flatMapCompletable

对于每个 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

Error:(14, 18) None of the following functions can be called with the arguments supplied: @CheckReturnValue @SchedulerSupport public final fun andThen(p0: ((CompletableObserver) -> Unit)!): Completable! defined in io.reactivex.Completable

@CheckReturnValue @SchedulerSupport public final fun andThen(p0: ((MaybeObserver) -> Unit)!): Maybe<(???..???)>! defined in io.reactivex.Completable

@CheckReturnValue @SchedulerSupport public final fun andThen(p0: ((Observer) -> Unit)!): Observable<(???..???)>! defined in io.reactivex.Completable

and so on

问题在于:

.andThen(this::validate)

我没有 event 本身。我如何链接这些 Completable

我找到了答案:

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

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

如果有任何建议或更好的方法,我将不胜感激