【发布时间】:2017-01-25 12:26:18
【问题描述】:
我有一个类似的事件链:“加载一些东西 - 展示它 - 存储它”。显示和存储当然是同时发生的(在向用户显示的同时将其存储在后台)
类似这样的:
myVideoService.getVideo(id)
.compose(applySchedulers())
.subscribe((video) -> {
showVideo(video);
myVideoService.storeVideo(video).subscribe();
}, Throwable::printStackTrace)
我怎么做这条线:
myVideoService.storeVideo(video).subscribe();
原始 observable 的一部分?我想在后台运行这个 observable 但如果我使用 flatMap 这将在显示视频之前发生,基本上阻止它。即使时间不多我仍然不喜欢这个概念:
myVideoService.getVideo(id)
.compose(applySchedulers())
.flatMap((video) -> myVideoService.storeVideo(video))
.subscribe((video) -> {
showVideo(video);
}, Throwable::printStackTrace)
这将在存储完成后制作 showVideo,而理想情况下应该并排
在显示和存储视频不会相互阻塞的情况下,还有其他方法可以做到这一点吗?
【问题讨论】:
标签: android rx-java observable rx-android