[RxJS] 基礎知識
ReactiveX
ReactiveX官網的介紹:
an API for asynchronous programming with observable streams
「ReactiveX使用了可觀察的(Observable)串流(Stream)來處理非同步程式設計(Asynchronous Programming)的API規範」
使用到三個重要觀念:
- 觀察者模式 (Observable Pattern)
- 疊代器模式 (Iterator Pattern)
- 函數語言程式設計 (Functional Programming)
使用ReactiveX基本的三個步驟:
- 建立(Create):建立
Observable
物件 - 組合(Combine):以
Operator
操作Observable
物件的資料流程 - 監聽(Listen):建立
Subscribe
觀察者模式
rxjs實作觀察者模式:
Subject
:Observable物件。
addObserver()
:Observable物件的 subscribe()
,把觀察者(observer)加入清單內。
deleteObserver
:訂閱 Observable物件後拿到的 Subscription
物件的 unsubscribe()
。
notify()
:Observer的 next()
(除了 next(
)之外還有 error()
和 complete()
)。
notifyObservers()
:Observable物件的 next()
(具體來說只有 Subject
類別有,Observable
類別沒有)。