RxJS Subscriber

2020-10-13 11:28 更新

實(shí)現(xiàn) Observer接口并擴(kuò)展 Subscription類。盡管 Observer公開的 API 是用于消費(fèi) an 值的公共 API Observable,但所有觀察者都會(huì)轉(zhuǎn)換為訂閱者,以便提供類似訂閱的功能,例如 unsubscribe。訂閱服務(wù)器是 RxJS 中的一種常見類型,對(duì)于實(shí)現(xiàn)操作符至關(guān)重要,但很少用作公共 API。

class Subscriber<T> extends Subscription implements Observer {
  static create<T>(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber<T>
  constructor(destinationOrNext?: NextObserver<any> | ErrorObserver<any> | CompletionObserver<any> | ((value: T) => void), error?: (e?: any) => void, complete?: () => void)
  protected isStopped: boolean
  protected destination: PartialObserver<any> | Subscriber<any>
  next(value?: T): void
  error(err?: any): void
  complete(): void
  unsubscribe(): void
  protected _next(value: T): void
  protected _error(err: any): void
  protected _complete(): void
  _unsubscribeAndRecycle(): Subscriber<T>

 
  // inherited from index/Subscription
  static EMPTY: Subscription
  constructor(unsubscribe?: () => void)
  closed: [object Object]
  unsubscribe(): void
  add(teardown: TeardownLogic): Subscription
  remove(subscription: Subscription): void
}

靜態(tài)方法

創(chuàng)造()
給定訂閱用戶的靜態(tài)工廠,給定觀察者的(可能是部分)定義。
static create<T>(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber<T>

參量 類型
下一個(gè) 可選的。默認(rèn)值為undefined。next觀察者的回調(diào)
錯(cuò)誤 可選的。默認(rèn)值為undefinederror觀察者 的回調(diào)
完成 可選的。默認(rèn)值為undefinedcomplete觀察者 的回調(diào)

returnsSubscriber<T>:訂閱用戶包裝由給定參數(shù)表示的(部分定義的)觀察者。

建設(shè)者

constructor(destinationOrNext?: NextObserver<any> | ErrorObserver<any> | CompletionObserver<any> | ((value: T) => void), error?: (e?: any) => void, complete?: () => void)參量 destinationOrNext 可選的。默認(rèn)值為 undefined。部分定義的 Observer 或next回調(diào)函數(shù)。錯(cuò)誤可選的。默認(rèn)值為 undefinederror 觀察者 的回調(diào)。完成可選的。默認(rèn)值為undefined。complete 觀察者 的回調(diào)。

物產(chǎn)

屬性 類型 描述
isStopped boolean
目的地 PartialObserver<any> | Subscriber<any>

方法

下一個(gè)()
從Observable Observer接收next帶有值的類型的通知的回調(diào)。Observable可以多次調(diào)用此方法0次。
next(value?: T): void參量值可選的。默認(rèn)值為undefined。該next值。returnsvoid

錯(cuò)誤()
從 Observable Observer接收 error 帶有類型的通知的回調(diào) Error。通知觀察者可觀察對(duì)象發(fā)生錯(cuò)誤情況。
error(err?: any): void參量呃可選的。默認(rèn)值為undefined。該error例外。returnsvoid

完成()
從 Observable Observer 接收類型的無價(jià)值通知的回調(diào) complete。通知觀察者 Observable 已完成基于推送的通知的發(fā)送。
complete(): void參量沒有參數(shù)。returnsvoid

退訂()
unsubscribe(): void參量沒有參數(shù)。returnsvoid

_下一個(gè)()
protected _next(value: T): void參量值類型:T。returnsvoid

_錯(cuò)誤() protected _error(err: any): void

參量 類型
err 類型:any

returnsvoid

_完成()
protected _complete(): void參量沒有參數(shù)。returnsvoid

_unsubscribeAndRecycle()
_unsubscribeAndRecycle(): Subscriber<T>參量沒有參數(shù)。returnsSubscriber<T>

  • 訂閱用戶
  • 靜態(tài)方法
  • 創(chuàng)造()
  • 建設(shè)者
  • 物產(chǎn)
  • 方法
  • 下一個(gè)()
  • 錯(cuò)誤()
  • 完成()
  • 退訂()
  • 下一個(gè)()
  • 錯(cuò)誤()
  • 完成()
  • unsubscribeAndRecycle
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)