Typescript TypeError:此.\u parentSubscription.unsubscripte不是函数

Typescript TypeError:此.\u parentSubscription.unsubscripte不是函数,typescript,ionic-framework,rxjs,ionic3,Typescript,Ionic Framework,Rxjs,Ionic3,当被观测对象遇到错误时,是什么导致了这种类型的错误?这个错误让我相信,出于某种原因,fbLogin.unsubscribe()是问题所在,但即使删除了这两行,错误仍然存在。我使用的是rxjs@^5.5.2 ERROR TypeError: this._parentSubscription.unsubscribe is not a function at Subscriber._unsubscribeParentSubscription (Subscriber.js:110) at

当被观测对象遇到错误时,是什么导致了这种类型的错误?这个错误让我相信,出于某种原因,
fbLogin.unsubscribe()是问题所在,但即使删除了这两行,错误仍然存在。我使用的是rxjs@^5.5.2

ERROR TypeError: this._parentSubscription.unsubscribe is not a function
    at Subscriber._unsubscribeParentSubscription (Subscriber.js:110)
    at Subscriber.error (Subscriber.js:75)
    at auth.ts:54
    at e.b (auth.esm.js:17)
    at Fb (auth.esm.js:20)
    at Bb (auth.esm.js:20)
    at A.g.Xb (auth.esm.js:19)
    at kb (auth.esm.js:13)
    at t.invoke (polyfills.js:3)
    at Object.onInvoke (core.js:4760)


//login.ts
loginWithFacebook(): void{
        let fbLogin = this.authData.loginWithFacebook().subscribe(() => {
            fbLogin.unsubscribe();
            this.navCtrl.setRoot('HomePage');
        }, error => {
            fbLogin.unsubscribe();
            console.log(error);
        });
    }


//auth.ts
loginWithFacebook(): Observable<any> {
        return Observable.create(observer => {
            if (this.platform.is('cordova')) {
                return this.fb.login(['email', 'public_profile']).then(res => {
                    const facebookCredential = firebase.auth.FacebookAuthProvider.credential(res.authResponse.accessToken);
                    this.afAuth.auth.signInWithCredential(facebookCredential).then(()=> {
                        observer.next();
                    }).catch(error => {
                        console.log(error);
                        observer.error(error);
                    });
                });
            } else {
                return this.afAuth.auth.signInWithPopup(new firebase.auth.FacebookAuthProvider()).then(()=> {
                    observer.next();
                }).catch(error => {
                    console.log(error);
                    observer.error(error); //this is auth.ts:54
                });
            }
        });
    }
ERROR-TypeError:this.\u parentSubscription.unsubscripte不是一个函数
在订阅服务器上取消订阅ParentSubscription(Subscriber.js:110)
at Subscriber.error(Subscriber.js:75)
at auth.ts:54
在e.b(认证esm.js:17)
在Fb(auth.esm.js:20)
在Bb(auth.esm.js:20)
在A.g.Xb(auth.esm.js:19)
在kb处(auth.esm.js:13)
在t.invoke(polyfills.js:3)
在Object.onInvoke上(core.js:4760)
//login.ts
loginWithFacebook():void{
让fbLogin=this.authData.loginWithFacebook().subscribe(()=>{
fbLogin.unsubscribe();
this.navCtrl.setRoot('HomePage');
},错误=>{
fbLogin.unsubscribe();
console.log(错误);
});
}
//auth.ts
loginWithFacebook():可观察{
返回可观察的。创建(观察者=>{
如果(此.platform.is('cordova')){
返回这个.fb.login(['email','public_profile'])。然后(res=>{
const facebookCredential=firebase.auth.FacebookAuthProvider.credential(res.authResponse.accessToken);
此.afAuth.auth.signInWithCredential(facebookCredential)。然后(()=>{
observer.next();
}).catch(错误=>{
console.log(错误);
观察者错误(错误);
});
});
}否则{
返回此.afAuth.auth.signInWithPopup(new firebase.auth.FacebookAuthProvider())。然后(()=>{
observer.next();
}).catch(错误=>{
console.log(错误);
observer.error(error);//这是auth.ts:54
});
}
});
}

异步函数当前在
可观察中不受支持。请创建
(请参阅)

您可以使用
from
defer
将您的承诺包装为可观察的承诺