android - RxJava Completable.andThen 永远不会触发第二个 Completable
问题描述
我正在尝试链接两个Completable
在 android 上使用改造返回的响应式调用:
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
要添加到链中的实际值。
推荐阅读
- c++ - CMake Qt5指定头ui文件的输出目录
- visual-studio - 需要将复杂的 GUI 界面项目从 RAD Studio 移植到 Visual Studio
- caching - Apache 到 IIS web.config?
- java - 在 Kotlin 中使异步调用同步
- python - 如何在同一个控制台(而不是不同的选项卡)上从 Spyder 上的不同编辑器选项卡运行不同的代码?
- node.js - 如何在 Node 中访问 Lambda 中的 /tmp 文件夹?
- r - 如何在我的 blogdown 网站的主页上发布一些介绍性段落?
- c# - 进程关闭后删除文件。C# 窗体
- excel - Excel 2019 - 来自 VBA 的 ADODB 连接停止工作
- python - 由于缺少元素,lxml 抓取覆盖错误