问题描述
我正在尝试链接两个反应式调用,这些响应式调用使用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
。