【问题标题】:What is the difference between using a compose() and a simple flatMap()?使用 compose() 和简单的 flatMap() 有什么区别?
【发布时间】:2017-04-15 11:14:30
【问题描述】:

我刚刚观看了 Jake Wharton The State of Managing State with RxJava 的会议。

他建议以这种方式将事件从视图转变为行动:

Observable<Event> events = RxView.clicks(view).map(__ -> new Event());
ObservableTransformer<Event, Action> action = events -> events.flatMap(/* ... */);
events.compose(action).subscribe();

我想知道这个实现的区别:

Observable<Event> events = RxView.clicks(view).map(__ -> new Event());    
Observable<Action> action = events.flatMap(/* ... */);
action.subscribe();

compose()ObservableTransformer 和一个简单的 flatMap() 有两个 可观察?

【问题讨论】:

    标签: java android rx-java2


    【解决方案1】:

    Daniel Lew 对这些差异做了很好的解释。简而言之:

    不同之处在于 compose() 是更高级别的抽象:它 对整个流进行操作,而不是单独发出的项目。

    有关更多详细信息,请查看this article 中的完整说明(在名为 What About flatMap() 的部分中?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-26
      • 2016-10-24
      • 2018-05-12
      • 2016-02-16
      • 2015-01-16
      • 2019-04-01
      • 2022-11-15
      相关资源
      最近更新 更多