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

时间:2020-10-12 12:20:10

标签: android kotlin retrofit rx-java rx-java-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的响应。但是,第二个调用永远不会触发(它永远不会出现在我的日志中并且不会通过我的断点)。

我在这里想念什么?

1 个答案:

答案 0 :(得分:2)

尝试:

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

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

相关问题