什么可观察方法订阅结果,哪些方法不订阅,只是在使用Observable时传递流

时间:2017-06-15 06:13:14

标签: angular rxjs

  1. 哪个Observable方法会“订阅”结果?例如,flatMap订阅第一个Observable的结果并传递结果而不调用subscribe方法。
  2. 有没有办法确定Observable方法(flatMap,mergeMap,forkJoin,concat,subscribe ...)返回编译时间,是订阅还是Observable?我经常混淆这些方法的结果。
  3. rxjs方法是否有这种类型的分类?
  4. 是否有可用于模拟此行为的网站或工具,以及更好地理解它。?

1 个答案:

答案 0 :(得分:1)

订阅Observable的唯一方法是subscribe()

flatMap(也称为mergeMap),switchMap,map等是转换原始事件序列的运算符。这些运算符虽然返回一个Observable。

RxJs Observables很冷,这意味着它们只有在订阅时才会被激活。

RxJs是ReactiveX API的javascript实现。如果您想更详细地了解Observable的工作原理,可以从ReactiveX文档(http://reactivex.io/)开始。

一个很好的课程,详细解释了ReactiveX模式以及它们在Angular中如此有用的原因如下[https://angular-university.io/course/reactive-angular-architecture-course]2

关于switchMap的第三个有趣的讨论,这是最有用和最有点神秘的运算符之一,可以在这里找到blog.angular-university.io/rxjs-switchmap-operator/