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