Subject

A Subject is a special type of Observable that allows values to be multicasted to many Observers. Subjects are like 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?: PartialObserver<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> }

Subclasses

  • BehaviorSubject
  • ReplaySubject
  • AsyncSubject

Description

Every Subject is an Observable and an Observer. You can subscribe to a Subject, and you can call next to feed values as well as error and complete.

Static Properties

PropertyTypeDescription
create

Constructor

constructor()

Parameters

There are no parameters.

Properties

PropertyTypeDescription
observers
closed
isStopped
hasError
thrownError

Methods

lift()

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

Parameters

operator

Type: Operator.

Returns

Observable<R>

next()

next(value?: T)

Parameters

value

Optional. Default is undefined.

Type: T.

error()

error(err: any)

Parameters

err

Type: any.

complete()

complete()

Parameters

There are no parameters.

unsubscribe()

unsubscribe()

Parameters

There are no parameters.

_trySubscribe()

_trySubscribe(subscriber: Subscriber<T>): TeardownLogic

Parameters

subscriber

Type: Subscriber.

Returns

TeardownLogic

_subscribe()

_subscribe(subscriber: Subscriber<T>): Subscription

Parameters

subscriber

Type: Subscriber.

Returns

Subscription

asObservable()

Creates a new Observable with this Subject as the source. You can do this to create customize Observer-side logic of the Subject and conceal it from code that uses the Observable.

asObservable(): Observable<T>

Parameters

There are no parameters.

Returns

Observable<T>: Observable that the Subject casts to