【发布时间】:2017-07-04 18:31:20
【问题描述】:
我目前正在练习使用电子,但我对 javascript 还是很陌生,我遇到了一个让我完全困惑的问题。我有以下代码:
function getPaths() {
var dirPath = document.getElementById("mdir").innerHTML;
var filePaths = [];
fs.readdir(dirPath, function(err, dir) {
for(var i = 0, l = dir.length; i < l; i++) {
var filePath = dir[i];
filePaths.push(dirPath + "/" + filePath);
}
});
console.log(filePaths);
console.log(filePaths.length);
}
它应该查看dirPath定义的目录,然后循环并获取该目录中所有文件的完整路径。它将它们附加到一个数组中,然后在底部将数组记录到控制台,然后是数组的长度。
令我困惑的是,鉴于该代码,数组按预期记录到控制台,但随后控制台将长度记录为零。我目前的想法是它与范围有关,但这没有意义,因为我在正在运行的函数上方的函数中声明了数组filePaths。除非我错过了什么。谁能指出我做错了什么?
【问题讨论】:
标签: javascript arrays scope electron