【问题标题】:Firebase Database doesn´t respondFirebase 数据库没有响应
【发布时间】:2019-09-10 00:21:13
【问题描述】:

我不知道为什么,但我的代码不起作用。 我想在我的网页中使用 Firebase 实时数据库,但是一旦我添加了 Firebase 的东西,执行我的代码就不再做任何事情了。 Chrome 没有在我的代码中发现任何错误。 你能告诉我,为什么它不起作用。我是不是做错了什么?

非常感谢, 尼康

PS:我将代码中的 API Key 替换为“|”所以你看不到我的 API Key :)

我在 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>

我认为它显示给定标签的值可能会有延迟。

【问题讨论】:

    标签: javascript html firebase firebase-realtime-database


    【解决方案1】:

    我已编辑您的问题以正确格式化您的代码。现在您可以清楚地看到您在外部函数getTermine() 中返回了一个未定义的termine 变量。这显然不会包含您正在寻找的结果。

    此外,我怀疑您正在运行的代码是异步的,因此您无法以同步方式返回值。但是,您可以创建一个回调函数,该函数在值可用时立即调用。像这样:

    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>');
    );
    

    希望对您有所帮助。工作时注意代码的布局,正确缩进代码后很容易发现这些错误。

    【讨论】:

      猜你喜欢
      • 2018-08-04
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 2020-01-07
      相关资源
      最近更新 更多