我想仅在用户注册(一次)时保存用户的其他详细信息,即号码,年龄。但是没有回调可用于检查注册是否成功。
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
因此,当您只想在用户注册而不是使用时只存储一次数据时该怎么办
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});
每次用户登录/注销都会被触发,但是我不想每次都保存额外的注册详细信息。
调用createUserWithEmailAndPassword()
返回一个Promise,它具有您可以响应的catch()
和then()
方法。
Firebase文档有意不使用thenthen()
子句,因为通常最好对onAuthStateChanged()
事件做出响应(当用户重新加载应用程序并仍处于登录状态时,该事件也会触发。即使在您的情况下,也可能是放置该子句的更好位置代码来存储用户个人资料,因为某些数据可能会在应用重新加载时发生更改。
但是,如果要显式响应“用户已成功创建”,则可以执行以下操作:
firebase.auth()
.createUserWithEmailAndPassword(email, password)
.then(function(user) {
console.log("Create user and sign in Success", user);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句