RxJS publishLast

2020-10-14 10:28 更新

返回一個可連接的可觀察序列,該序列共享對僅包含最后一個通知的基礎(chǔ)序列的單個預(yù)訂。

publishLast<T>(): UnaryFunction<Observable<T>,ConnectableObservable<T>>

參量

沒有參數(shù)。

returns

UnaryFunction<Observable<T>, ConnectableObservable<T>>:可觀察的序列,包含通過多播源序列產(chǎn)生的序列的元素。

描述

最后的大理石圖

與相似 publish,但要等到源可觀察到的對象完成并存儲最后發(fā)出的值。與 publishReplay和類似 publishBehavior,即使沒有更多的訂閱者,它也會繼續(xù)存儲最后一個值。如果隨后的訂閱發(fā)生,他們將立即獲得最后存儲的值并完成。

import { interval } from 'rxjs';
import { publishLast, tap, take } from 'rxjs/operators';


const connectable =
  interval(1000)
    .pipe(
      tap(x => console.log("side effect", x)),
      take(3),
      publishLast());


connectable.subscribe(
  x => console.log(  "Sub. A", x),
  err => console.log("Sub. A Error", err),
  () => console.log( "Sub. A Complete"));


connectable.subscribe(
  x => console.log(  "Sub. B", x),
  err => console.log("Sub. B Error", err),
  () => console.log( "Sub. B Complete"));


connectable.connect();


// Results:
//    "side effect 0"
//    "side effect 1"
//    "side effect 2"
//    "Sub. A 2"
//    "Sub. B 2"
//    "Sub. A Complete"
//    "Sub. B Complete"

也可以看看

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號