鍍金池/ 教程/ Android/ Defer
調度器 Scheduler
Empty/Never/Throw
Replay
這個(gè)頁(yè)面展示了創(chuàng )建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁(yè)展示的操作符用于對整個(gè)序列執行算法操作或其它操作,由于這些操作必須等待數據發(fā)射完成(通常也必須緩存這些數據),它們對于非常長(cháng)
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng )建操作
Materialize/Dematerialize
CombineLatest
Catch
實(shí)現自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個(gè)頁(yè)面的操作符可用于根據條件發(fā)射或變換Observables,或者對它們做布爾運算:
Do
Repeat
Serialize
這個(gè)頁(yè)面展示的操作符可用于過(guò)濾和選擇Observable發(fā)射的數據序列。
這個(gè)頁(yè)面列出了很多用于Observable的輔助操作符
Single
Retry
從錯誤中恢復的技術(shù)
Sample
Merge
算術(shù)和聚合操作
Range
Timestamp
RxJava Issues
From
Subscribe
Subject
Delay
Skip
SubscribeOn
Filter
按字母順序排列的全部操作符列表
Timeout
Scan
onError
Zip
RxJava文檔和教程
Publish
ElementAt
第一個(gè)例子
SkipLast
Just
Timer
Debounce
GroupBy
條件和布爾操作
這個(gè)頁(yè)面展示了可用于對Observable發(fā)射的數據執行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應式編程
這個(gè)頁(yè)面展示的操作符可用于組合多個(gè)Observables。
ReactiveX
Connect
操作符分類(lèi)
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

Defer

Defer

直到有觀(guān)察者訂閱時(shí)才創(chuàng )建Observable,并且為每個(gè)觀(guān)察者創(chuàng )建一個(gè)新的Observable

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/defer.c.png" alt="defer" />

Defer操作符會(huì )一直等待直到有觀(guān)察者訂閱它,然后它使用Observable工廠(chǎng)方法生成一個(gè)Observable。它對每個(gè)觀(guān)察者都這樣做,因此盡管每個(gè)訂閱者都以為自己訂閱的是同一個(gè)Observable,事實(shí)上每個(gè)訂閱者獲取的是它們自己的單獨的數據序列。

在某些情況下,等待直到最后一分鐘(就是知道訂閱發(fā)生時(shí))才生成Observable可以確保Observable包含最新的數據。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/defer.png" alt="defer" />

RxJava將這個(gè)操作符實(shí)現為 defer 方法。這個(gè)操作符接受一個(gè)你選擇的Observable工廠(chǎng)函數作為單個(gè)參數。這個(gè)函數沒(méi)有參數,返回一個(gè)Observable。

defer方法默認不在任何特定的調度器上執行。

switchCase

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/switchCase.png" alt="switchCase" />

可選包 rxjava-computation-expressions 中有一個(gè)類(lèi)似的操作符。switchCase操作符有條件的創(chuàng )建并返回一個(gè)可能的Observables集合中的一個(gè)。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/ifThen.png" alt="ifThen" />

可選包 rxjava-computation-expressions 中還有一個(gè)更簡(jiǎn)單的操作符叫ifThen。這個(gè)操作符檢查某個(gè)條件,然后根據結果,返回原始Observable的鏡像,或者返回一個(gè)空Observable。

上一篇:IgnoreElements