[英]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.