在firebase中的事务之后无法获取正确的更新值

时间:2018-02-24 10:47:21

标签: firebase firebase-realtime-database

我有这个firebase架构 enter image description here

我的应用程序的前端处于反应状态,而后端处于节点中。 每当用户在我的应用程序中注册时,我使用firebase事务将totalUsers计数递增1,之后我将获取然后将其放入users。 以下是获取数据的代码:

auth.createUserWithEmailAndPassword(email, passwordOne)
        .then(authUser => {
            console.log(db);
            console.log(authUser.uid);
            // Create user in FirebaseDB
                var value = 0;
                let generate_id = db.ref(`totalUsers`);
                generate_id.transaction((current_value) => {
                    return current_value + 1;
                });
                generate_id.on("value", (data) => {
                    value = data.val();
                    console.log(`Data: ${data.val()}`);
                });
                console.log(`Value: ${value}`);
                db.ref(`/users/${authUser.uid}`).set({
                    name,
                    email,
                    college,
                    dob,
                    gender,
                    sam_id
                })
                .then(() => {
                    this.setState({
                        name: '',
                        email: '',
                        passwordOne: '',
                        passwordTwo: '',
                        college: '',
                        dob: '',
                        gender: ''
                    })
                    history.push('/');
                })
                .catch(error => {
                    console.log(error);
                });
        })
        .catch(error => {
            alert(error);
            console.log(error);
        });
}

这是我在控制台中获得的内容: enter image description here

问题是我无法获得totalUsers中的最新更新值,而且我是firebase的新手。请帮帮忙?

0 个答案:

没有答案