我试图获取我的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');
非常感谢你们的帮助。
答案 0 :(得分:0)
在你的代码中,ref只是一个字符串而不是firebase引用,所以你必须在你的代码中添加这样的东西:
function syncChanges(list, ref) {
var Fref = new Firebase(ref);
Fref.on('child_added', function _add(snap, prevChild) {
请查看firebase documentation以获取有关此内容的更多信息。