W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
返回一個(gè) ConnectableObservable,它是多種 Observable,它等待直到其 connect 方法被調(diào)用,然后才開始向已預(yù)訂該對象的 Observer 發(fā)送項(xiàng)目。
publish<T, R>(selector?: OperatorFunction
<T, R>): MonoTypeOperatorFunction
<T> | OperatorFunction
<T, R>
選擇器 | 可選的。默認(rèn)值為undefined ??蛇x的選擇器功能,可以根據(jù)需要多次使用多播的源序列,而不會(huì)導(dǎo)致對該源序列的多個(gè)預(yù)訂。給定來源的訂閱者將從訂閱開始就接收該來源的所有通知。 |
---|
MonoTypeOperatorFunction<T> | OperatorFunction<T, R>
:一個(gè) ConnectableObservable,它在連接時(shí)導(dǎo)致源 Observable 向其 Observer 發(fā)射項(xiàng)目。
使感冒變熱
通過應(yīng)用發(fā)布運(yùn)算符使 source $ 成為熱門,然后將每個(gè)內(nèi)部可觀察項(xiàng)合并為一個(gè)并進(jìn)行訂閱。
import { of, zip, interval, merge } from "rxjs";
import { map, publish, tap } from "rxjs/operators";
const source$ = zip(interval(2000), of(1, 2, 3, 4, 5, 6, 7, 8, 9)).pipe(
map(values => values[1])
);
source$
.pipe(
publish(multicasted$ =>
merge(
multicasted$.pipe(tap(x => console.log('Stream 1:', x))),
multicasted$.pipe(tap(x => console.log('Stream 2:', x))),
multicasted$.pipe(tap(x => console.log('Stream 3:', x))),
)
)
)
.subscribe();
// Results every two seconds
// Stream 1: 1
// Stream 2: 1
// Stream 3: 1
// ...
// Stream 1: 9
// Stream 2: 9
// Stream 3: 9
publish(): UnaryFunction<Observable<T>, ConnectableObservable<T>>
參量沒有參數(shù)。returnsUnaryFunction<Observable<T>, ConnectableObservable<T>>
publish(selector: (shared: Observable<T>) => O): OperatorFunction<T, ObservedValueOf<O>>
參量 | 類型 |
---|---|
選擇器 | 類型:(shared: Observable) => O |
returnsOperatorFunction<T, ObservedValueOf<O>>
publish(selector: MonoTypeOperatorFunction<T>): MonoTypeOperatorFunction<T>
參量 | 類型 |
---|---|
選擇器 | 類型:MonoTypeOperatorFunction |
returnsMonoTypeOperatorFunction<T>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: