javascript - Firebase 数据库没有响应
问题描述
我不知道为什么,但我的代码不起作用。我想在我的网页中使用 Firebase 实时数据库,但是一旦我添加了 Firebase 的东西,执行我的代码就不再做任何事情了。Chrome 没有在我的代码中发现任何错误。你能告诉我,为什么它不起作用。我做错什么了吗?
非常感谢,尼康
PS:我把代码中的API Key换成了“|” 所以你看不到我的 API 密钥 :)
我在 Chrome 和 W3Schools 的 Tryit 编辑器中执行了我的代码。此外,我尝试了很多次更改代码,但没有办法让我达到目标。
<script src="https://www.gstatic.com/firebasejs/6.6.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/6.6.0/firebase-database.js">
var config = {
apiKey: "|||||||||||||||||||||||||||||||||||||",
authDomain: "littleappsdatabase.firebaseapp.com",
databaseURL: "https://littleappsdatabase.firebaseio.com",
storageBucket: "littleappsdatabase.appspot.com"
};
firebase.initializeApp(config);
var database = firebase.database();
function getTermine () {
firebase.database()
.ref('/users/' + userId)
.once('value')
.then(function(snapshot) {
var termine = (snapshot.val() && snapshot.val().calendar) || 'Keine Termine vorhanden';
});
return (termine);
}
var list = getTermine();
document.write('<h4>', list.replace(';', '<br><br>'), '</h4>');
</script>
我认为它显示给定标签的值可能会有延迟。
解决方案
我已经编辑了您的问题以正确格式化您的代码。现在您可以清楚地看到您termine
在外部函数中返回了一个未定义的变量getTermine()
。这显然不会包含您正在寻找的结果。
此外,我怀疑您正在运行的代码是异步的,因此您不能以同步的方式返回值。但是,您可以创建一个回调函数,该函数在值可用时立即调用。像这样:
function getTermine(callback) {
firebase.database()
.ref('/users/' + userId)
.once('value')
.then(function(snapshot) {
var termine = (snapshot.val() && snapshot.val().calendar) || 'Keine Termine vorhanden';
callback(termine);
});
}
getTermine(function(list) {
document.write('<h4>', list.replace(';', '<br><br>'), '</h4>');
);
希望有帮助。工作时请注意代码的布局,因为正确缩进代码时很容易发现这些错误。
推荐阅读
- python - 从 BarChart API 数据中获取 1 分钟的历史数据(suds 对象)到 Pandas Dataframe
- html - 使用 jQuery 禁用提交按钮,直到字段和至少一个复选框具有值
- r - 如何在R中更改条形图与Y轴之间的距离
- sql - 如何在一个值的数量大于另一个值的 postgresql 行中进行选择?
- tls1.2 - Delphi,INDY,无法连接 TLSv1.2(wireshark 说没问题?oO)
- reactjs - 如何在 reactjs 中修复这个 Eslint 警告
- c++ - 将类方法作为另一个类中函数的参数传递
- networking - 通过“信号、发射和统计”功能进行统计收集,无需修改 omnet++ 模型(TicToc 教程 5.3)
- asp.net-core - 如何使用属性将项目添加到具有 ASP.NET Core 的附加值集合 ModelMetadata?
- r - 对于条形图,如何从 R 上显示的 x 轴获取所有标签?