Firebase - ForEach循环计数

时间:2016-09-05 06:51:47

标签: javascript firebase firebase-realtime-database

我有这样的代码:

    firebase.database().ref(...).on('value'.function(snapshot) {

        snapshot.forEach(function(minisnapshot) {

            var counter = 0;
            alert("test");
            //
            minisnapshot.child("books").foreach(function(mainsnapshot) {

                counter +=0.5;

                    var data = {
                       price:mainsnapshot.child("price").val() * counter;
                       ...
                   }

                }

           }

        }

格式如下所示。问题是,对于书籍的每个循环,计数器再次设置为0。它正在执行var counter = 0,因此计数器总是0.5(我希望它是0.5,1,1.5 ..等等)。

如何实现这种仅针对books ForEach的计数器?

1 个答案:

答案 0 :(得分:0)

这里的问题是你在forEach循环中初始化计数器变量,你只需要把它带到循环之外。您的代码将是:

firebase.database().ref(...).on('value'.function(snapshot) {
      var counter = 0;
      snapshot.forEach(function(minisnapshot) {
            alert("test");
            //
            minisnapshot.child("books").foreach(function(mainsnapshot) {
                  counter +=0.5;
                  var data = {
                        price:mainsnapshot.child("price").val() * counter;
                        ...
                  }
            }
      }
}