codecamp

RxJS Subject

主题是可观察的一种特殊类型,它允许将值多播到许多观察者。主题就像 EventEmitters。

class Subject<T> extends Observable implements SubscriptionLike {
  static create: Function
  constructor()
  observers: Observer<T>[]
  closed: false
  isStopped: false
  hasError: false
  thrownError: any
  lift<R>(operator: Operator<T, R>): Observable<R>
  next(value?: T)
  error(err: any)
  complete()
  unsubscribe()
  _trySubscribe(subscriber: Subscriber<T>): TeardownLogic
  _subscribe(subscriber: Subscriber<T>): Subscription
  asObservable(): Observable<T>

 
  // inherited from index/Observable
  static create: Function
  static if: typeof iif
  static throw: typeof throwError
  constructor(subscribe?: (this: Observable<T>, subscriber: Subscriber<T>) => TeardownLogic)
  _isScalar: boolean
  source: Observable<any>
  operator: Operator<any, T>
  lift<R>(operator: Operator<T, R>): Observable<R>
  subscribe(observerOrNext?: NextObserver<T> | ErrorObserver<T> | CompletionObserver<T> | ((value: T) => void), error?: (error: any) => void, complete?: () => void): Subscription
  _trySubscribe(sink: Subscriber<T>): TeardownLogic
  forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise<void>
  pipe(...operations: OperatorFunction<any, any>[]): Observable<any>
  toPromise(promiseCtor?: PromiseConstructorLike): Promise<T>
}

子类

  • BehaviorSubject
  • ReplaySubject
  • AsyncSubject

描述

每个主题都是一个可观察者和一个观察者。您可以订阅主题,也可以在提要值以及错误和完成旁边调用。

静态特性

属性 类型 描述
创造 Function

建设者

constructor()参量没有参数。

物产

属性 类型 描述
观察者 Observer<T>[]
关闭 false
isStopped false
hasError false
thrownError any

方法

电梯() lift<R>(operator: Operator<T, R>): Observable<R>

参量 类型
算子 类型:。Operator 

returnsObservable<R>

下一个()
next(value?: T)
参量 类型
值可选的 默认值为undefined。类型:T

错误()
error(err: any)参量呃类型:any

完成()
complete()参量没有参数。

退订()
unsubscribe()参量没有参数。

_trySubscribe()
_trySubscribe(subscriber: Subscriber<T>): TeardownLogic

参量 类型
订户 类型:。Subscriber

returnsTeardownLogic

_订阅()
_subscribe(subscriber: Subscriber<T>): Subscription
参量 类型
subscriber 类型:Subscriber
returnsSubscription

asObservable()
使用此 Subject 作为源创建一个新的 Observable。您可以执行此操作以创建自定义主题的 Observer 端逻辑,并从使用 Observable 的代码中隐藏它。
asObservable(): Observable<T>参量没有参数。退货Observable<T>:可观察到,主体强制转换为
RxJS SchedulerLike
RxJS Subscribable
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

RxJS operators

RxJS fetch

RxJS testing

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }