RxJava Completable然后永远不会触发第二个Completable

问题描述

我正在尝试链接两个反应式调用,这些响应式调用使用android上的改造返回Completable

val userRequest = ...
val languageRequest = ...

return userService.updateUser(userRequest)
    .andThen { userService.updateMessagingUserLanguages(user.id,languageRequest) }
    .doOnComplete { userRepository.updateUser(user) }

定义如下:

@PUT("$BASE_USER_URL")
fun updateUser(@Body user: UserRequest): Completable

@PUT("$BASE_URL/{userId}/languages")
fun updateMessagingUserLanguages(@Path("userId") userId: Long,@Body request: MessagingLanguageDTO): Completable

一个Completable成功,并返回状态为200的响应。但是,第二个调用永远不会触发(它永远不会出现在我的日志中并且不会通过我的断点)。

在这里想念什么?

解决方法

尝试:

andThen(userService.updateMessagingUserLanguages(user.id,languageRequest))

IOW,将lambda表达式作为参数替换为您要添加到链中的实际Completable