正在从firebase获取同步数组

Getting synced array from firebase

本文关键字:同步 数组 获取 firebase      更新时间:2023-09-26

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

204未捕获类型错误: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');

非常感谢大家的帮助。

在您的代码中,ref只是一个字符串,而不是firebase引用,因此您必须在代码中添加这样的内容:

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

请查看firebase文档以获取有关此方面的更多信息。