【发布时间】:2018-04-09 05:39:33
【问题描述】:
需要订阅冷的 observable 才能发出值。 当使用 map 等操作符时,会返回一个新的 observable。
const origin$ = Rx.Observable.from([1,2,3,4]);
const mapped$ = origin$.map(val => val+1);
mapped$.subscribe(console.log);
使用.subscribe 和mapped$ observable,值会发出并记录在控制台中。
但在这种情况下,mapped$ observable 被订阅了,而不是 origin$ observable。为什么origin$ observable 开始发出值?
【问题讨论】:
-
这不是 Observable 中冷热的意思。 medium.com/@benlesh/hot-vs-cold-observables-f8094ed53339 和 blog.thoughtram.io/angular/2016/06/16/…
-
@FanCheung 感谢您阐明我对冷热可观察物的理解。我纠正了这个问题,但我在理解订阅机制方面仍然存在这个问题。
-
因为你有一个 observables 链,这是 rxjs Observables 的力量之一,也有惰性,所以只会在需要的时候发出。
标签: angular rxjs observable subscribe reactivex