0
我正在尝试计算我在数据库中创建的两条路线上的不当行为数。下面是我的火力数据库的结构下,驱动程序和报告数据库分别为:Firebase未捕获TypeError:无法读取属性undefined
[驱动程序数据库] - i.stack.imgur.com/Q6GKs.png
[报告数据库 - i.stack.imgur。 COM/ALWPu.png
这里是我的计数不端行为的数计数器:
<script>
var route1Count = 0;
var route2Count = 0;
var drivers;
var reports;
var driversRef = firebase.database().ref('drivers/');
var reportsRef = firebase.database().ref('reports/');
driversRef.once('value', (snapshot) => {
drivers = snapshot;
});
reportsRef.once('value', (snapshot) => {
reports = snapshot;
});
drivers.forEach((driver) => {
var violationCount = reports.filter((report) => report.val().plateNumber === driver.key).length;
if(driver.val().route === "Fairview - Quiapo"){
route1Count += violationCount;
}else if(driver.val().route === "Quiapo - Fairview"){
route2Count += violationCount;
}
});
document.getElementById("demo").innerHTML = "route1: " + route1Count + "route2: " + route2Count;
</script>
我收到此错误信息: 遗漏的类型错误:无法读取的不确定财产“的forEach”at drivers.forEach,所有输入将不胜感激!谢谢!
错误信息地点:https://i.stack.imgur.com/W5iGZ.png
'执行driversRef.once' *异步* - 直到它完成'drivers'是'undefined'(我敢肯定,它不是由你调用'驱动程序时执行99%。 forEach') – UnholySheep
谢谢,有没有什么办法可以修复它? –