实际上我正在开发一个连接到我的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次。
有人可以帮我解决这个问题吗?