gpt4 book ai didi

javascript - Angular2 对异步/等待的 promise

转载 作者:行者123 更新时间:2023-11-30 09:40:44 26 4
gpt4 key购买 nike

如何转换此代码 (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 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 中它是如此简单,因为我只需要将参数(用户)传递给 then。谢谢,求助:)

最佳答案

How can I get 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;
}
}

关于javascript - Angular2 对异步/等待的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41241759/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com