функциональные циклы, даже если это не должно

# #javascript #firebase-realtime-database

Вопрос:

С помощью этой функции я хочу вставить данные в свою базу данных firebase:

 function insertDaten(titel) {
    var ref = firebase.database().ref();
    ref.on("value", function (snapshot) {
        var json_elemente = snapshot.val().notes;
        var keys = Object.keys(json_elemente);
        var count = Math.max.apply(null, keys)   1;

        firebase.database().ref("notes/"   count).set({
            id: parseInt(count)   1,
            text: "",
            titel: titel,
            bild: ""
    });
  });
}
 

но каждый раз, когда я запускаю его, кажется, что он зацикливается и создает как можно больше наборов данных, прежде чем программа завершит работу.
я попытался просто добавить возврат; но это, похоже, тоже не работает.

Комментарии:

1. Ты хотел сделать .once вместо .on этого ?

2. .on(«значение», cb), по сути, назначит обратный вызов, который будет выполняться, как только в этой ссылке появятся данные. Таким образом, это создает бесконечный цикл, так как вы пишете внутри прослушивающего обратного вызова.

3. Оба комментария звучат как начало отличного ответа, ребята. 😀

4. похоже, вы прислушиваетесь к изменениям, но затем вносите изменения в цикле, так что он бесконечен