簡體   English   中英

例外:在ionic 2應用程序中用Facebook登錄后,未捕獲(承諾)

[英]Exception: uncaught (in promise) after login with facebook in ionic 2 app

我得到這個錯誤

異常:未捕獲(承諾):false

在我的ionic 2應用程序中使用Facebook登錄后。 連接成功,但我收到此錯誤。 在此處輸入圖片說明

我的app.component.ts

   import { Component,ViewChild } from '@angular/core';
import { Platform,Nav, LoadingController} from 'ionic-angular';
import { StatusBar, Splashscreen } from 'ionic-native';

//import pages
import { HomePage } from '../pages/home/home';
import { LoginPage } from '../pages/login/login';
import { SignupPage } from '../pages/signup/signup';
import { TabsPage } from '../pages/tabs/tabs';
import { AboutPage } from '../pages/about/about';
import {StudentsPage} from '../pages/students/students';



//import plugins
//import firebase from 'firebase';
import {AngularFire, FirebaseListObservable} from 'angularfire2';

@Component({
  template: `<ion-nav [root]="rootPage"></ion-nav>`
})
export class MyApp {
  @ViewChild(Nav) nav: Nav;
   public rootPage:any;
   //ref firebase
  public semesters:any;
  public userProfile: any;
  //user variables
  public currentUser: any;
  public id_user:any;
  public reg_boolean:any="true";
  public department:any;
  public year:any;
  public semester:any;
  public semesterdetails:any;
 user = {};

  constructor(platform: Platform, public loadingCtrl: LoadingController,public af: AngularFire){
   this.af.auth.subscribe(user => {
      if(user) {
        this.rootPage = SignupPage;
        console.log("connected success");

      }
      else {
        // user not logged in
        this.user = {};
        this.rootPage=LoginPage;

      }
    });

  }
}

我的login.ts

 import { Component } from '@angular/core';
import {NavController,LoadingController,AlertController } from 'ionic-angular';

//import pagess

import { HomePage } from '../home/home';
//import cordova plugins
import { Facebook } from 'ionic-native';
import firebase from 'firebase';
/*
  Generated class for the LoginPage page.

  See http://ionicframework.com/docs/v2/components/#navigation for more info on
  Ionic pages and navigation.
*/
@Component({
  selector: 'page-login',
  templateUrl: 'login.html'
})
export class LoginPage {
  userProfile: any = null;
  loading: any;
 constructor(public nav: NavController, public alertCtrl: AlertController,  public loadingCtrl: LoadingController) {}
  ionViewDidLoad() {

  }
   facebookLogin(){
    Facebook.login(['email']).then( (response) => {
      let facebookCredential = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken);
      var that = this;
      firebase.auth().signInWithCredential(facebookCredential)
          .then((success) => {
            console.log("Firebase success: " + JSON.stringify(success));
            that.userProfile = success;
            console.log(that.userProfile);
           // that.nav.setRoot(HomePage); // after login in it goes to homepage

          })
          .catch((error) => {
            console.log("Firebase failure: " + JSON.stringify(error));
          });

    }).catch((error) => { console.log(error) });
    let loader = this.loadingCtrl.create({
      dismissOnPageChange: true,
    });

    loader.present();
  }

  GmailLogin(){

  }

}

我嘗試檢查我的問題是什么,但沒有發現任何問題。 我也用android模擬器檢查,仍然是同樣的問題。

這是由於ionic-2 rc4的錯誤所致。 設置dismissOnPageChange: true時發生。 看看這個問題 該問題已在rc5rc5 ,請檢查一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM