天天看點

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({}) 的差別

繼續閱讀