將普通的Observable轉(zhuǎn)換為可連接的Observable
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/publishConnect.c.png" alt="publish" />
可連接的Observable (connectable Observable)與普通的Observable差不多,不過(guò)它并不會(huì)在被訂閱時(shí)開始發(fā)射數(shù)據(jù),而是直到使用了Connect
操作符時(shí)才會(huì)開始。用這種方法,你可以在任何時(shí)候讓一個(gè)Observable開始發(fā)射數(shù)據(jù)。
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/publishConnect.png" alt="publish" />
RxJava的實(shí)現(xiàn)為publish
。
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/publishConnect.f.png" alt="publish" />
有一個(gè)變體接受一個(gè)函數(shù)作為參數(shù)。這個(gè)函數(shù)用原始Observable發(fā)射的數(shù)據(jù)作為參數(shù),產(chǎn)生一個(gè)新的數(shù)據(jù)作為ConnectableObservable
給發(fā)射,替換原位置的數(shù)據(jù)項(xiàng)。實(shí)質(zhì)是在簽名的基礎(chǔ)上添加一個(gè)Map
操作。