源自觀察者-釋出者設計模式:
觀察者注冊于 Subject 上,每當 subject 狀态發生變化時,通知觀察者。
RxJs 裡的 Observable 就是 Subject:
管道:連接配接 Observable 的同時,增添額外的邏輯:
冷熱 Observable 的差別:
Cold Observable,僅當被訂閱時,才通過内部生産者生産資料
Hot Observable,具有外部生産者,不管被訂閱與否,都能夠自主生産資料,比如基于 HTML Event listener 的 Observable,基于 HTTP GET 的 Observable 等等。
subscription
Observable 内部維護了一個指針,指向 subscriber,用于在需要的時候,unsubscribe Observers.
RxJs 裡的 Observable 是單點傳播,而 Subject 是多點傳播。