我試圖從Firebase獲取數據並將其存儲到數組中。 但是,當我嘗試從數組中獲取數據時,它變得未定義。 誰能告訴我爲什麼會發生?將Firebase數據存儲到JavaScript中的陣列中
var events = [];
var databaseRef = database.ref("events").orderByChild("date");
databaseRef.on('child_added', function(snapshot) {
var event = snapshot.val();
events.push({
title: event.title,
content: event.content
});
});
console.log(events);
console.log(events[0]);
console.log(events.pop());
在#1中,所有數據都作爲對象存儲在數組中。 但在#2 & 3,它返回undefined
加:#1返回:
[]
0 : Object
content : "Rehoncus. Aliquam nibh antegestas id dictum a, commodo. Praesenterto faucibus malesuada faucibu"
title : "Tivamus at magna non nunc"
1 : Object
content : "Rehoncus. Aliquam nibh antegestas id dictum a, commodo. Praesenterto faucibus malesuada faucibu"
title : "Vivamus at magna non nunc"
之所以陣列似乎寫入控制檯事件的內容是因爲當一個數組中的開發者工具控制檯展開,顯示當前數組內容。請注意,'[]' - 一個空陣列 - 在展開之前就是控制檯中顯示的內容。 – cartant