我想創建一個帶有firebase的javascript的學生考勤跟蹤器應用程序。Firebase查詢裏面的函數返回null
但我有一個問題,我試圖查詢一個函數內部並讓函數返回這些數據。
但是,當我嘗試,它什麼都沒有返回。 '未定義'
這裏是我的代碼
var root = 'https://path.firebaseio.com';
function initFireSubjects(){
var db = {};
db.connection = new Firebase(root + '/subjects');
db.addSubject = function (year, code, name) {
this.connection.child(year).push({
code: code,
name: name
});
};
db.getAll = function (year) {
var value;
this.connection.child(year).on('value', function (snapshot) {
value = snapshot.val();
});
return value;
};
}
,這裏是我的代碼來測試它
var db = initFireSubjects();
var test = db.getAll('2014');
console.log(test);
數據的結構看起來像這樣
subject:{
'2014':{
randomKey1:{
code:'eng1',
name:'English 1'
},
randomKey2:{
code:'math1',
name:'Mathematics 1'
},
randomKey3:{
code:'sci1',
name:'Science 1'
}
},
'2015':{
randomKey4:{
code:'polsci1',
name:'Political Science 1'
},
randomKey5:{
code:'comprog',
name:'Computer Programming'
}
}
}
的情況下,是我可以拉數據,如果我這樣做的話
db.getAll = function(year){
var value;
this.connection.child(year).on('value',function(snapshot){
value = snapshot.val();
console.log(value);
}
}
我不知道爲什麼它不能以面向對象的方式提取數據。
任何輸入?
謝謝。
謝謝你回覆良好的先生。這是很好的信息。 – 2015-02-07 14:14:00
不客氣。如果答案有用,請按下向上箭頭投票。如果它回答您的問題,請點擊旁邊的複選標記接受答案。 – 2015-02-07 14:43:18