Firebase v3 createUserWithEmailAndPassword.然后是Promise

Ron*_*ton 18 firebase firebase-authentication firebase-realtime-database

Firebase v3参考指南表明createUserWithEmailAndPassword(email, password)返回firebase.Promise包含非null firebase.User.

使用基于密码的帐户指南的Firebase v3 使用Firebase进行身份验证显示以下示例

firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // ...
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,我想启动一个函数,将用户添加到users我的实时数据库中的节点.我想要包括我从网站注册表单中收集的用户显示名称.所以,似乎我想要做一个.then,如果createUserWithEmailAndPassword方法成功,我想触发一个将新用户(带有显示名称)写入我的Realtime Database users节点的函数.

如何将示例脚本修改为.then样式?

the*_*het 32

以下是正确使用then()和错误处理createUserWithEmailAndPassword:

firebase.auth().createUserWithEmailAndPassword(email, password).then(function(user) {
    var user = firebase.auth().currentUser;
    logUser(user); // Optional
}, function(error) {
    // Handle Errors here.
    var errorCode = error.code;
    var errorMessage = error.message;
});

function logUser(user) {
    var ref = firebase.database().ref("users");
    var obj = {
        "user": user,
        ...
    };
    ref.push(obj); // or however you wish to update the node
}
Run Code Online (Sandbox Code Playgroud)

在这里有另一个例子.

  • 使用var user = firebase.auth()有什么好处.currentUser; 与承诺中的回归相比? (2认同)