javascript - Firebase - myFirebase.child().once() 返回未定义

标签 javascript undefined firebase


我正在使用 Firebase 创建一个网络应用程序。我可以在我的 Firebase 中设置值,但如果我尝试读取它们,我会得到未定义的。这是我的代码:

            var str = document.URL;
            var padId = str.slice(55, 65);
            alert(padId);
            var myFirebase = new Firebase("https://collab-coding-privacy.firebaseio.com/" + padId);

            var isPrivate;
            var owner = "";
            var pemial = "";

            myFirebase.child("private").on('value', function(snapshot) {
                if (snapshot.val() != undefined) {
                    isPrivate = true;
                }
            });
            alert(isPrivate);

            myFirebase.child("pemial").on('value', function(snapshot) {
                if (snapshot.val() != null) {
                    pemail = snapshot.val();
                }
            });
            alert(pemail);


            myFirebase.child("owner").on('value', function(snapshot) {
                if (snapshot.val() != null) {
                    owner = snapshot.val();
                }
            });
            alert(owner);

当我加载页面时,它首先提醒 padId,我检查并存在于我的 firebase 中。然后它提醒 pemail、owner 和 isPrivate,这些都是未定义的。

我做错了什么?有什么建议么?先谢谢大家。

最佳答案

您正在执行异步操作,然后立即尝试在同步范围内读取返回值。该值未定义,因为尚未调用 on('value') 的回调。将警报移到回调中,您将看到实际值。

关于javascript - Firebase - myFirebase.child().once() 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23873157/

相关文章:

javascript - Javascript 中的动画线图?

javascript - AJAX 刷新后按钮不起作用的 Woocommerce 数量增量,并且自动加载仅在点击 2 次后触发

android - 应用程序终止时从 FCM 启动 Activity ?

wordpress - wp 未定义函数 add_settings_section

javascript - 在 React Native Redux 中渲染之前调度一个 Action ?

javascript - 在帖子中加载评论

javascript - 将对象传递给 jQuery 方法

javascript - Uncaught ReferenceError : getPrice is not defined

java - 构造函数未定义问题

javascript - 2D Javascript 数组类型错误