Mar*_*arc 9 javascript firebase
我想将显示名称添加到刚刚创建的用户.但是当我创建UserUithWithEmailAndPassword时,我的currentUser为null.哪里不对了?
var name = document.getElementById("name").value;
var username = document.getElementById("username").value;
var email = document.getElementById('email').value;
var password = document.getElementById('password').value;
// Sign in with email and pass.
// [START createwithemail]
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// [START_EXCLUDE]
if (errorCode == 'auth/weak-password') {
alert('The password is too weak.');
} else {
console.error(error);
}
// [END_EXCLUDE]
});
// [END createwithemail]
var user = firebase.auth().currentUser;
user.updateProfile({
displayName: username
}).then(function() {
// Update successful.
}, function(error) {
// An error happened.
});
document.getElementById("submitButton").innerHTML = "Loading...";
$("#submitButton").css("background-color", "#efefef");
$("#submitButton").css("cursor", "init");
$("#submitButton").css("color", "#aaa");
registerUserToDB(username, name, email);
console.log("shouldhave worked");
Run Code Online (Sandbox Code Playgroud)
the*_*het 25
createUserWithEmailAndPassword
是一个异步调用,就像Firebase中几乎所有其他函数一样.您创建用户(最有可能成功),但在您尝试抓住后立即创建currentUser
.几乎在每种情况下,您都会尝试currentUser
在Firebase创建用户之前获取.
重写内部回调:
firebase.auth().createUserWithEmailAndPassword(email, password).then(function(user) {
// [END createwithemail]
// callSomeFunction(); Optional
// var user = firebase.auth().currentUser;
user.updateProfile({
displayName: username
}).then(function() {
// Update successful.
}, function(error) {
// An error happened.
});
}, function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// [START_EXCLUDE]
if (errorCode == 'auth/weak-password') {
alert('The password is too weak.');
} else {
console.error(error);
}
// [END_EXCLUDE]
});
Run Code Online (Sandbox Code Playgroud)
.then
将被称为成功,function(error)
并将被称为错误.您希望在用户创建成功后设置用户.
有些人不喜欢嵌套的回调,因此您可以创建一个获取当前用户的函数,并在成功时调用该函数.
文档:
归档时间: |
|
查看次数: |
7849 次 |
最近记录: |