从firebase获取同步数组

时间:2016-04-29 21:14:22

标签: javascript firebase

我试图获取我的firebase数据库的最后100个条目,并让该数组动态更新。 我在控制台中遇到的错误是:

  

204 Uncaught TypeError:ref.on不是函数

我不知道这意味着什么。

代码

function getSynchronizedArray(firebaseRef) {
  var list = [];
  syncChanges(list, firebaseRef);
  return list;
}

function syncChanges(list, ref) {
  ref.on('child_added', function _add(snap, prevChild) {
    var data = snap.val();
    data.$id = snap.key(); 
    var pos = positionAfter(list, prevChild);
    list.splice(pos, 0, data);
  });
}


function positionFor(list, key) {
  for(var i = 0, len = list.length; i < len; i++) {
    if( list[i].$id === key ) {
      return i;
    }
  }
  return -1;
}

function positionAfter(list, prevChild) {
  if( prevChild === null ) {
    return 0;
  }
  else {
    var i = positionFor(list, prevChild);
    if( i === -1 ) {
      return list.length;
    }
    else {
      return i+1;
    }
  }
}



$(function () {
        var data = [], totalPoints = 100;
        data = getSynchronizedArray('https://MYLINK.firebaseio.com/SOMETHING');

非常感谢你们的帮助。

1 个答案:

答案 0 :(得分:0)

在你的代码中,ref只是一个字符串而不是firebase引用,所以你必须在你的代码中添加这样的东西:

function syncChanges(list, ref) {
  var Fref = new Firebase(ref);
  Fref.on('child_added', function _add(snap, prevChild) {

请查看firebase documentation以获取有关此内容的更多信息。