當(dāng)兩個Observables中的任何一個發(fā)射了數(shù)據(jù)時,使用一個函數(shù)結(jié)合每個Observable發(fā)射的最近數(shù)據(jù)項,并且基于這個函數(shù)的結(jié)果發(fā)射數(shù)據(jù)。
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/combineLatest.c.png" alt="combineLatest" />
CombineLatest
操作符行為類似于zip
,但是只有當(dāng)原始的Observable中的每一個都發(fā)射了一條數(shù)據(jù)時zip
才發(fā)射數(shù)據(jù)。CombineLatest
則在原始的Observable中任意一個發(fā)射了數(shù)據(jù)時發(fā)射一條數(shù)據(jù)。當(dāng)原始Observables的任何一個發(fā)射了一條數(shù)據(jù)時,CombineLatest
使用一個函數(shù)結(jié)合它們最近發(fā)射的數(shù)據(jù),然后發(fā)射這個函數(shù)的返回值。
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/combineLatest.png" alt="combineLatest" />
RxJava將這個操作符實現(xiàn)為combineLatest
,它接受二到九個Observable作為參數(shù),或者單個Observables列表作為參數(shù)。它默認不在任何特定的調(diào)度器上執(zhí)行。
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/withLatestFrom.png" alt="withLatestFrom" />
withLatestFrom
操作符還在開發(fā)中,不是1.0版本的一部分。類似于combineLatest
,但是只在單個原始Observable發(fā)射了一條數(shù)據(jù)時才發(fā)射數(shù)據(jù)。