我正在将离子3.8应用程序迁移到3.9.2.
此迁移包括对RXJS 5.5的更新
此迁移包括对RXJS 5.5的更新
我现在遇到这个错误:
TypeError:this._subscribe不是函数. (在’this._subscribe(sink)’中,’this._subscribe’是t的一个实例)
protected observeConnectionState() { // rxjs/observable/of of(new Event('disconnect')) .pipe( // rxjs/operators/merge merge(connect$),merge(disconnect$),// Map eventname to string (rxjs/operators/map) map((e: IEvent) => { return e.eventName == 'connect' ? 'connected' : 'disconnected'; }) ) // Apply to class context .subscribe((newConnectionState) => { // this.connectionState$is a BehaviorSubject this.connectionState$.next(newConnectionState); }); }
附加信息
> RXJS代码中有两个地方,我能找到这个._subscribe:Observable.ts Line 203和Observable.ts Line 208.
好吧,我发现了问题.它与科尔多瓦无关.
对于遇到此问题的其他人:
忘记堆栈跟踪 – 它没用.在我的情况下,在this.connectionState $的订阅者中,我尝试从promise创建一个Observable.但我做错了.
这是错的:
import { Observable } from 'rxjs/Observable'; //... const myObservable$= Observable.create(myPromise);
这是应该如何做到的:
import { fromPromise } from 'rxjs/observable/fromPromise'; // ... const myObservable$= fromPromise(myPromise);