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
謝謝,有沒有什麼辦法可以修復它? –