我的JavaScript页面fb.js看起来像这样
$(document.ready( function() {
var results = [];
console.log(roomArray);
// get rooms from database
roomArray.forEach( function(room){
console.log('here');
var roomLocation = room['location'].replace(/\s/g,'').toLowerCase();
var filterLocation = filters[0]['location'].replace(/\s/g,'').toLowerCase();
if( roomLocation === filterLocation){
console.log('match found');
results.push(room);
}
});
// some more code here
});
在另一个js文件中定义了roomArray
var roomArray = [];
const rooms = firebase.database().ref().child('availableRooms');
rooms.on('value', snap => {
snap.forEach(function(child){
roomArray[parseInt(child.key)] = child.val();
});
});
我遇到的一个问题是我的roomArray.forEach函数似乎什么都没做。
console.log(roomArray)可以正常工作,并显示我的阵列已正确填充,但是console.log('here')从未到达,并且结果也从未正确更新。
如果我直接在chrome控制台上运行代码,则效果很好。可能是什么问题呢?