[英]Angular2 Promise to Async/Await
如何转换此代码(Promise):
registerUser(formData) {
firebase.auth().createUserWithEmailAndPassword(formData.email,formData.passwords.password)
.then((user) => {
firebase.database().ref(`/users/${user.uid}`).set({
id: user.uid,
email: formData.email
})
this.routing.navigate(['/login']);
}).catch((error) => {
console.log(error);
})
}
进入这一步(async / await):
async registerUser(formData){
try{
await firebase.auth().createUserWithEmailAndPassword(formData.email,formData.passwords.password);
firebase.database().ref(`/users/${user.uid}`)
.set({id: user.uid,email: formData.email});
this.routing.navigate(['/login']);
return true;
}catch(error){
return false;
}
}
如何获得user.uid
(注册的用户uid)? 在Promise中是如此简单,因为我只需要传递参数(用户)即可。 感谢帮助: )
我如何获得
user.uid
...
user
由await
表达式返回,因此在其前面添加let user =
(或const user =
):
async registerUser(formData){
try{
const user = await firebase.auth().createUserWithEmailAndPassword(formData.email,formData.passwords.password);
// ^^^^^^^^^^^^^
firebase.database().ref(`/users/${user.uid}`)
.set({id: user.uid,email: formData.email});
this.routing.navigate(['/login']);
return true;
}catch(error){
return false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.