芝麻web文件管理V1.00
编辑当前文件:/home/rejoandoctor/medicine.joruridoctor.com/node_modules/rxjs/src/internal/BehaviorSubject.ts
import { Subject } from './Subject'; import { Subscriber } from './Subscriber'; import { Subscription } from './Subscription'; /** * A variant of Subject that requires an initial value and emits its current * value whenever it is subscribed to. */ export class BehaviorSubject
extends Subject
{ constructor(private _value: T) { super(); } get value(): T { return this.getValue(); } /** @internal */ protected _subscribe(subscriber: Subscriber
): Subscription { const subscription = super._subscribe(subscriber); !subscription.closed && subscriber.next(this._value); return subscription; } getValue(): T { const { hasError, thrownError, _value } = this; if (hasError) { throw thrownError; } this._throwIfClosed(); return _value; } next(value: T): void { super.next((this._value = value)); } }