操作類別
1. 創(chuàng)建操作
- Create — 創(chuàng)建一個被觀察對象
- Defer — 每次訂閱時,創(chuàng)建一個新的被觀察對象
- Empty/Never/Throw— 創(chuàng)建精確的有限制行為的被觀察對象
- From(FromAsyncPattern FromEvent FromEventPattern ToObservable) — 將一些其他的對象或數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成被觀察對象
- Interval — 創(chuàng)建一個特定時間間隔序列的被觀察對象
- Just(Return) — 將一個或一組對象轉(zhuǎn)換成一個被觀察對象
- Range — 通過一個范圍整數(shù)創(chuàng)建被觀察對象
- Repeat — 創(chuàng)建一個特定可重復(fù)序列的被觀察對象
- Start — 創(chuàng)建一個返回值為函數(shù)的被觀察對象
- Timer — 在給定延遲時間后創(chuàng)建一個單例被觀察對象
2. 轉(zhuǎn)化操作
- Buffer — 定期從被觀察對象收集條目,并以集合推出條目,而不是已單項推出條目
- FlatMap(SelectMany) — 轉(zhuǎn)換被觀察對象的條目,然后形成持有條目的單例被觀察對象
- GroupBy(GroupBy GroupByUntil) — 從被觀察對象分成一組或幾組不同的被觀察對象, 通過key組織
- Map(Cast Select) — 通過轉(zhuǎn)換被觀察對象的條目,將函數(shù)應(yīng)用到每個條目
- Scan — 通過轉(zhuǎn)換被觀察對象的條目,將函數(shù)應(yīng)用到每個條目,按順序計算后面每一個條目的連續(xù)值
- Window — 定期細分一個被觀察對象的條目到新的被觀察對象,而不是一次發(fā)射一個,類似buffer
3. 過濾操作
- Debounce(Throttle) — 在特定的時間,從被觀察對象發(fā)射一個條目,passed另一個條目,類似閥門。
- Distinct(Distinct DistinctUntilChanged) — 抑制被觀察對象發(fā)射的重復(fù)條目
- ElementAt(ElementAt ElementAtOrDefault) — 僅從被觀察對象幾個發(fā)射點發(fā)射條目
- Filter(OfType Where) — 從被觀察對象僅發(fā)射一些通過條件測試的條目
- First(First FirstOrDefault Latest Next Single SingleOrDefault) — 從被觀察對象發(fā)射第一條目,或者滿足條件的第一條目
- IgnoreElements — 從被觀察對象不發(fā)射任何條目但是鏡像它的終止通知
- Last(Last LastOrDefault) — 從被觀察對象發(fā)射第后條目
- Sample — 從被觀察對象發(fā)出周期性時間間隔內(nèi)最新項目
- Skip — 從被觀察對象抑制最初的n個條目
- SkipLast — 從被觀察對象抑制最后的n個條目
- Take — 從被觀察對象發(fā)射最初的n個條目
- TakeLast — 從被觀察對象發(fā)射最后的n個條目
4. 結(jié)合操作
- And/Then/When — 通過Pattern and Plan,結(jié)合兩個或更過的被觀察對象條目集合
- CombineLatest — 通過指定函數(shù)結(jié)合各被觀察對象發(fā)射的最新條目,被基于函數(shù)計算結(jié)果
- Join — 結(jié)合兩個被觀察對象的發(fā)射
- Merge — 合并多個被觀察對象
- StartWith — 從原被觀察對象發(fā)射條目之前,發(fā)出一個指定的條目序列
- Switch — 轉(zhuǎn)換一個被觀察對象到最近發(fā)射的被觀察對象上,形成一條單例被觀察對象
- Zip — 通過指定的函數(shù)結(jié)合多個被觀察對象,并且每一個條目基于函數(shù)計算
5. 異常回調(diào)操作
- Catch(Catch OnErrorResumeNext) — 通過不出錯的繼續(xù)序列從一個onError通知發(fā)送
- Retry — 如果一個被觀察對象發(fā)送onError通知, 重新訂閱,希望它沒有錯誤的完成
6. 被觀察對象通用操作
- Delay(Delay DelaySubscription) — 延遲一定量的時間
- Do — 注冊一個行動,以采取各種被觀察對象生命周期事件,回調(diào)監(jiān)聽
- Materialize/Dematerialize — 將發(fā)出的條目和發(fā)送的通知都表示為發(fā)出的條目,或扭轉(zhuǎn)此過程
- ObserveOn(ObserveOn ObserveOnDispatcher) — 指定觀察者將觀察被觀察對象的調(diào)度程序
- Serialize(Synchronize) — 強制一個被觀察對象的calls序列化
- Subscribe — 被觀察對象的通知操作起作用,也就是訂閱被觀察對象
- SubscribeOn(SubscribeOn SubscribeOnDispatcher) — 指定一個被觀察對象被訂閱時的調(diào)度程序
- TimeInterval — 轉(zhuǎn)換一個被觀察對象中條目的時間量
- Timeout — 鏡像原被觀察對象, 但是如果一個特定的時間沒有任何發(fā)射條目發(fā)出錯誤通知
- Timestamp — 在被觀察對象每一個條目附加一個時間戳
- Using — 創(chuàng)建一個銷毀,保證被觀察對象一次性壽命
7. 條件和布爾操作
- All — 確定被觀察對象的所有項目是否符合一定的標準
- Amb — 給定兩個或多個源被觀察對象,發(fā)出所有的條目從只觀測發(fā)出的第一項
- Contains — 確定被觀察對象是否包含特定條目
- DefaultIfEmpty — 從原被觀察對象發(fā)射一個條目,或者如果原被觀察對象的條目為空
- SequenceEqual — 判斷兩個被觀察對象發(fā)出相同序列
- SkipUntil — 丟棄一個被觀察對象發(fā)射條目,直到第二個被觀察對象發(fā)射條目
- SkipWhile — 丟棄一個被觀察對象發(fā)射條目,直到一個指定的條件變?yōu)榧?/li>
- TakeUntil — 丟棄第二個被觀察對象的一個條目或終止后的被觀察對象的項目
- TakeWhile — 在指定條件變?yōu)榧俸螅瑏G棄被觀察對象的條目
8. 數(shù)學操作
- Average — 計算平均值
- Concat —
- Count — 計算條目數(shù)量
- Max — 最大值
- Min — 最小值
- Reduce — 將一個函數(shù)應(yīng)用到一個被觀察對象,按順序發(fā)出的每一個條目,并發(fā)出最后的值
- Sum — 計算和
9. 連接被觀察對象操作
- Connect —
- Publish —
- RefCount —
- Replay —
10. 操作轉(zhuǎn)換
- To(GetEnumerator ToArray ToDictionary ToEnumerable ToEvent ToEventPattern ToList ToLookup ToTask) — 將被觀察對象轉(zhuǎn)換成另一個對象或數(shù)據(jù)結(jié)構(gòu)