如果运算符返回的observable被订阅,为什么origin observable会发出值?

时间:2018-04-09 05:39:34

标签: angular rxjs observable subscribe reactivex

需要订阅冷可观察量,它会发出值。 当使用map等运算符时,会返回一个新的observable。

const origin$ = Rx.Observable.from([1,2,3,4]);
const mapped$ = origin$.map(val => val+1);
mapped$.subscribe(console.log);

使用.subscribe mapped$可观察值,会发出值并在控制台中登录。

但是在这种情况下,mapped$ observable得到了订阅而不是origin$可观察对象。为什么origin$可观察量会开始发出值?

1 个答案:

答案 0 :(得分:0)

使用任何运算符(旧式=SUM(B3:B(CurrentRow-1))或现今.map())都不会返回订阅。相反,它返回一个 new observable,它将另一个observable作为源,但在订阅之前等待任何订阅。