鍍金池/ 教程/ Android/ Sample
調(diào)度器 Scheduler
Empty/Never/Throw
Replay
這個(gè)頁面展示了創(chuàng)建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁展示的操作符用于對整個(gè)序列執(zhí)行算法操作或其它操作,由于這些操作必須等待數(shù)據(jù)發(fā)射完成(通常也必須緩存這些數(shù)據(jù)),它們對于非常長
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng)建操作
Materialize/Dematerialize
CombineLatest
Catch
實(shí)現(xiàn)自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個(gè)頁面的操作符可用于根據(jù)條件發(fā)射或變換Observables,或者對它們做布爾運(yùn)算:
Do
Repeat
Serialize
這個(gè)頁面展示的操作符可用于過濾和選擇Observable發(fā)射的數(shù)據(jù)序列。
這個(gè)頁面列出了很多用于Observable的輔助操作符
Single
Retry
從錯(cuò)誤中恢復(fù)的技術(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è)頁面展示了可用于對Observable發(fā)射的數(shù)據(jù)執(zhí)行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應(yīng)式編程
這個(gè)頁面展示的操作符可用于組合多個(gè)Observables。
ReactiveX
Connect
操作符分類
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

Sample

Sample

定期發(fā)射Observable最近發(fā)射的數(shù)據(jù)項(xiàng)

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

Sample操作符定時(shí)查看一個(gè)Observable,然后發(fā)射自上次采樣以來它最近發(fā)射的數(shù)據(jù)。

在某些實(shí)現(xiàn)中,有一個(gè)ThrottleFirst操作符的功能類似,但不是發(fā)射采樣期間的最近的數(shù)據(jù),而是發(fā)射在那段時(shí)間內(nèi)的第一項(xiàng)數(shù)據(jù)。

RxJava將這個(gè)操作符實(shí)現(xiàn)為samplethrottleLast。

注意:如果自上次采樣以來,原始Observable沒有發(fā)射任何數(shù)據(jù),這個(gè)操作返回的Observable在那段時(shí)間內(nèi)也不會發(fā)射任何數(shù)據(jù)。

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

sample(別名throttleLast)的一個(gè)變體按照你參數(shù)中指定的時(shí)間間隔定時(shí)采樣(TimeUnit指定時(shí)間單位)。

sample的這個(gè)變體默認(rèn)在computation調(diào)度器上執(zhí)行,但是你可以使用第三個(gè)參數(shù)指定其它的調(diào)度器。

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

sample的這個(gè)變體每當(dāng)?shù)诙€(gè)Observable發(fā)射一個(gè)數(shù)據(jù)(或者當(dāng)它終止)時(shí)就對原始Observable進(jìn)行采樣。第二個(gè)Observable通過參數(shù)傳遞給sample。

sample的這個(gè)變體默認(rèn)不在任何特定的調(diào)度器上執(zhí)行。

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

throttleFirstthrottleLast/sample不同,在每個(gè)采樣周期內(nèi),它總是發(fā)射原始Observable的第一項(xiàng)數(shù)據(jù),而不是最近的一項(xiàng)。

throttleFirst操作符默認(rèn)在computation調(diào)度器上執(zhí)行,但是你可以使用第三個(gè)參數(shù)指定其它的調(diào)度器。

上一篇:rxjava-async下一篇:CombineLatest