【发布时间】:2019-03-22 00:47:47
【问题描述】:
我认为这将与大多数反应式实现类似地完成,所以我没有在这里指定任何特定的库和语言。
对流进行反应性副作用的正确方法是什么(不确定这里的正确术语是什么)?
假设我们有一个Players 流。我们希望将其转换为只有ids 的流。但除此之外,我们还想根据 id 做一些额外的反应式处理。
这是一个不太优雅的方式,但实现这一点的惯用方式是什么:
Observable<Player> playerStream = getPlayerStream();
return playerStream
.map(p -> p.id)
.flatmap(id -> {
Observable<Result> weDontCare = process(id);
// Now the hacky part
return weDontCare.map(__ -> id);
})
这样好吗?似乎没有那么优雅。
【问题讨论】:
-
顺便说一句,RxJava 存在一个扩展运算符,允许您异步映射,这比其他合理的
flatMap方法更简洁:github.com/akarnokd/…
标签: reactive-programming rx-java2 project-reactor