Javascript 与firebase中的当前用户对象交互需要输入user.user,为什么必须输入user两次?
我正在尝试添加一个注册页面,以便用户在网页(wordpress)中的firebase数据库上注册 例如,当我创建用户,然后尝试一个简单的控制台日志来检查创建的用户的uid时,如下所示:Javascript 与firebase中的当前用户对象交互需要输入user.user,为什么必须输入user两次?,javascript,firebase,firebase-authentication,Javascript,Firebase,Firebase Authentication,我正在尝试添加一个注册页面,以便用户在网页(wordpress)中的firebase数据库上注册 例如,当我创建用户,然后尝试一个简单的控制台日志来检查创建的用户的uid时,如下所示: auth.createUserWithEmailAndPassword(email, password) .then(function(user){ console.log(user.uid); }); 我得到一个“未定义的”。但是
auth.createUserWithEmailAndPassword(email, password)
.then(function(user){
console.log(user.uid);
});
我得到一个“未定义的”。但是当我试图通过打字来做同样的事情时
auth.createUserWithEmailAndPassword(email, password)
.then(function(user){
console.log(user.user.uid);
});
它工作正常
为什么会这样
我按照文档初始化firebase,然后将对auth的引用设置为
var auth = firebase.auth();
谢谢你的帮助。我对Javascript和Firebase都是新手 从
createUserWithEmailAndPassword(电子邮件,密码)返回firebase.Promise,其中包含非空的firebase.auth.UserCredential
单击会显示它的结构
{
user: nullable firebase.User,
credential: nullable firebase.auth.AuthCredential,
operationType: (nullable string or undefined),
additionalUserInfo: (nullable firebase.auth.AdditionalUserInfo or undefined)
}
因此,您正在访问已命名为user
的返回UserCredential
对象的user
属性
如果您愿意,您可以将user
更改为userCredential
,以帮助澄清它是什么,避免将来的混淆
auth.createUserWithEmailAndPassword(email, password)
.then(function(userCredential){
console.log(userCredential.user.uid);
});