离子2 - Promise叫了两次

时间:2017-07-11 14:37:46

标签: typescript firebase ionic-framework promise firebase-authentication

实际上我正在开发一个连接到我的firebase后端的Ionic 2应用程序。 当我尝试更改实际用户的密码时,一切正常,但问题是更改密码的承诺被调用两次。

我在编辑屏幕中调用该函数:

changePassword() {

 if(this.passwordchangeForm.valid) {

  this.auth.changePasswort(this.passwordnew.value, this.password.value).then(data=>{
      let toast = this.toastCtrl.create({
        message: "Passwort erfolgreich geändert",

      })
      toast.present();

  }).catch(error=>{
    let alert = this.alertCtrl.create({
      title: 'Fehler beim ändern des Passworts',
      message: error,
      buttons: ['OK'] 
    })
    alert.present();

  })
 }  
}

在我的authprovider中调用方法changePassword()

changePasswort(passNew, password){
var currUser = this.firebase.auth().currentUser;
    return new Promise((resolve, reject) =>{
        this.loginWithEmail({email: currUser.email, password: password}).subscribe(data =>{
            currUser.updatePassword(passNew).then(result =>{
                resolve("Passwort Updated")
            }).catch(error =>{
                 reject(error)
            })
        }, error=>{
            reject(error);
        })
  })
}

如果一切正确,则更改密码并显示Toast,否则会显示错误。 但问题是一切都会弹出2到3次。

有人可以帮我解决这个问题吗?

0 个答案:

没有答案