Rxjava 变换理解

flatMap() 的原理是这样的:

  • 1.使用传入的事件对象创建一个 Observable 对象;
  • 2.并不发送这个 Observable, 而是将它激活,于是它开始发送事件;
  • 3.每一个创建出来的 Observable 发送的事件,都被汇入同一个 Observable ,而这个 Observable负责将这些事件统一交给 Subscriber 的回调方法
  1. 这三个步骤,把事件拆成了两级,通过一组新创建的 Observable 将初始的对象『铺平』之后通过统一路径分发了下去。而这个『铺平』就是 flatMap() 所谓的 flat
  1. Oberverable** 相当于服务器**,在GET/POST请求后,返回数据给subscriber

flatmap的参数理解

@requires_authorization     
     ConnectionBase.getApiService2()
.getStudents(101)
.flatMap(new Func1<student, observable<course="">>() {
@Override
public Observable<course> call(Student student) {
return ConnectionBase.getApiService2().getAllCourse(student.getId());
}
})

Func1有两个入参,前者是原始的参数类型,后者是返回值类型;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容