將一個(gè)發(fā)射多個(gè)Observables的Observable轉(zhuǎn)換成另一個(gè)單獨(dú)的Observable,后者發(fā)射那些Observables最近發(fā)射的數(shù)據(jù)項(xiàng)
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/switch.c.png" alt="switch" />
Switch
訂閱一個(gè)發(fā)射多個(gè)Observables的Observable。它每次觀察那些Observables中的一個(gè),Switch
返回的這個(gè)Observable取消訂閱前一個(gè)發(fā)射數(shù)據(jù)的Observable,開始發(fā)射最近的Observable發(fā)射的數(shù)據(jù)。注意:當(dāng)原始Observable發(fā)射了一個(gè)新的Observable時(shí)(不是這個(gè)新的Observable發(fā)射了一條數(shù)據(jù)時(shí)),它將取消訂閱之前的那個(gè)Observable。這意味著,在后來那個(gè)Observable產(chǎn)生之后到它開始發(fā)射數(shù)據(jù)之前的這段時(shí)間里,前一個(gè)Observable發(fā)射的數(shù)據(jù)將被丟棄(就像圖例上的那個(gè)黃色圓圈一樣)。
Java將這個(gè)操作符實(shí)現(xiàn)為switchOnNext
。它默認(rèn)不在任何特定的調(diào)度器上執(zhí)行。