我在和Node玩,有一個奇怪的問題(對我來說很奇怪)。自從我做了Javascript以來,已經有很長的一段時間了,所以問題很可能在我面前凝視。Javascript(節點)將對象推入陣列
我遍歷目錄中的JSON文本文件列表,解析每個文件中的文本。它正確地移動目錄;當我檢查console.log時,每個對象顯示正確。
但是,當我試圖將它推到一個數組上時,沒有任何反應,大小在循環結束時保持爲1。這感覺就像一個範圍問題。
感謝您的任何建議。
app.get("/people/:value1/metrics/:value2", function(req, res) {
var value1 = req.params.value1;
var value2 = req.params.value2;
var personPath = "people/" + value1 + "/" + value2;
var content;
var data = [];
fs.readdir(personPath, function(err, files) {
if(err) {
console.log(err);
}
files.forEach(function (file, index) {
content = fs.readFileSync(personPath + '/' + file);
console.log(JSON.parse(content)); //Correctly outputs the object.
content = JSON.parse(content);
data.push(content);
});
});
console.log(data.length); //Always 0.
res.send(data);
});
這看起來像異步代碼,將您送入READDIR –
謝謝你的建議所有,這是偉大的。 –