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