一个观察者没有被创建,但另一个是相同的观察者

时间:2016-06-16 17:39:35

标签: angularjs angular rxjs

rxjs与Angular 2 RC.1一起使用,我创建了一些Observer's。我在服务中有以下内容:

taxRates$:  Observable<TaxRate[]>;
taxTables$: Observable<TaxTable[]>;
private _taxRatesObserver:  Observer<TaxRate[]>;
private _taxTablesObserver: Observer<TaxTable[]>;

constructor(private http: HttpService) {
    this.taxRates$ = new Observable<TaxRate[]>(observer =>
        this._taxRatesObserver = observer
    ).share();

    this.taxTables$ = new Observable<TaxTable[]>(observer =>
        this._taxTablesObserver = observer
    ).share();
    // more stuff here
}

_taxRatesObserver已正确创建,但_taxTablesObserver未正确创建。当我检查开发工具时,我看到了:

_taxRatesObserver:Subscriber http:HttpService taxRates$:RefCountObservable taxTables$:RefCountObservable

我希望也能看到_taxTablesObserver:Subscriber,但如果我通过控制台记录它,它总是显示为undefinedTaxTable,如果重要,看起来像这样:

export class TaxTable { constructor( public id: number, public name: string, public description: string) {} }

1 个答案:

答案 0 :(得分:0)

来自docs:

  

订阅最初订阅Observable时调用的函数。

_taxRatesObserver和_taxTablesObserver在相应地订阅taxRates $和taxTables $后初始化。

很可能taxTables $没有订阅者。