天天看点

Rxjs of() 和 of({}) 的区别

Rxjs of() 和 of({}) 的区别
Rxjs of() 和 of({}) 的区别

首先从当前的 Observable 对象里提取出 map 操作符。每一个通过 pipe 加工过的 Observable 对象,都有一个 Operator 引用。

然后,使用这个 Operator 调用 Observable 对象。

Rxjs of() 和 of({}) 的区别

执行第28行逻辑:

Rxjs of() 和 of({}) 的区别

这里的 this 仍然指向原始的 Observable 对象,而 array 即是输入参数,也就是传入 of 里的空对象{}.

如果改成 of(), 那么第2行的 array 为空,因此根本不会进入 for 循环,所以 map 操作符里的匿名函数,也就没有机会得到执行了:

Rxjs of() 和 of({}) 的区别
Rxjs of() 和 of({}) 的区别

现在就执行到我的匿名函数了:

Rxjs of() 和 of({}) 的区别

继续阅读