1
我試圖獲取我的firebase數據庫的最後100個條目,並讓該數組動態更新。 我在我的控制檯得到的錯誤是這樣的:從firebase獲取同步數組
204 Uncaught TypeError: ref.on is not a function
我不知道這意味着什麼。
代碼
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');
謝謝大家非常的幫助。
似乎你的代碼的最後一部分是關閉的? – marvinhagemeister
有些東西被切斷了,但這並不重要,不起作用的部分實際上是讓數組填滿。 – Qayse
您正在調用'getSynchronizedArray('https://MYLINK.firebaseio.com/SOMETHING');'有一個參數,但它需要兩個參數:'syncChanges(list,ref)' –