在嵌套函数外推送变量

时间:2017-09-05 02:17:52

标签: javascript firebase firebase-realtime-database

我不确定为什么这不起作用所以如果有人可以提供帮助那就太好了。我有嵌套函数和魔杖来推送firebase查询返回的值,并在另一个firebase查询中重新使用它,然后再循环。它本质上是一个穷人的无限卷轴。尽管如此,我无法获得" arr"变量为" numWanted"在外面的数组,所以我可以在下一个循环中再次使用它。我该怎么做才能达到预期的效果?

此外,我已经尝试将内部变量设为全局变量,并将它们推送到另一个变量,但这似乎并不起作用。可能我只是做错了吗?

提前致谢..

$scope.loadMoreData = function() {
  var numWanted = [];
  console.log(numWanted);
  firebase
    .database()
    .ref('products')
    .orderByChild('rank')
    .startAt(0)
    .endAt(numWanted)
    .limitToLast(3)
    .once('value', function(products) {
      products.forEach(function(product) {
        var product = {
          rank: product.val().rank
        };

        arr = product.rank;
      });
      numWanted.push(arr);
      console.log(numWanted);
    });
};

P.S。我意识到这段代码实际上并不起作用,因为你不能在firebase查询中使用数组。我的计划是在填充数组后提取我需要的数字。

1 个答案:

答案 0 :(得分:1)

您的参数名为product和名为product的局部变量存在冲突。您需要重命名其中一个。