RXJS
Sources
Note
- 什麼是 Functional Programming ?
- Functional Programming 重要特性
- Functional Programming 都是 表達式 (Expression) 不會是 陳述式(Statement)。
- Pure function 是指 一個 function 給予相同的參數,永遠會回傳相同的返回值,並且沒有任何顯著的副作用(Side Effect)
- 一個核心三個重點
- Observable
- Observer
- Subject
- Schedulers
- Marble diagrams
- Streaming
---------------- - Error
----------------X - Complete
----------------| - Sync
(oooo)| - http://rxmarbles.com/
- Streaming
Operators
mapmapTofiltermerge的用法,它的邏輯就像是 OR(||)一樣,可以把多個 observable 合併且同時處理,當其中任合一個 observable 送出元素時,我們都做相同的處理。source : ----0----1----2| source2: --0--1--2--3--4--5| merge() example: --0-01--21-3--(24)--5|buffer直到對象的Observable排出前,都先緩存。直到對象Observable排出,才將緩存排出。source : --0--1--2--3--4--5--6--7.. source2: ---------0---------1--------... buffer(source2) example: ---------([0,1,2])---------([3,4,5])bufferCount直接指定緩存的數量bufferTime直接指定緩存的時間distinct檢查是否有重複,如有重複則不排出distinctUntilChanged只檢查跟最後一個排出是否有重複,如有重複則不排出catchretry直接指定重試次數retryWhen直接指定重試時間cancatAll後面一個Observable必須等前一個Observable排出Complete事件後,才執行switch後面一個Observable直接取代前一個Observable,並開始排出mergeAll同一個時間點的所有Observable一起排出