【发布时间】:2019-06-18 03:03:03
【问题描述】:
我有以下功能:
readFiles: function(partidosPath) {
fs.readdir(partidosPath,function(err,files){
if (err) throw err;
files.forEach(function(file){
if(file) {
fs.readFile(partidosPath+file, 'utf8', function (err,data) {
var details = [];
if (err) {
return console.log(err);
}
commonFunctions.arrayLoader(details, {name: file, content: data});
console.log(details);
return details;
});
}
});
});
}
从目录中的文件列表中读取内容。
我需要使用每个文件的名称和内容保存一个对象数组,如下所示:
array = [{name: file1Name, content: file1Content},....]
我在另一个文件中这样调用函数:
var details = partidos.readFiles(partidosPath);
console.log(details);
问题是在readFiles 方法的console.log(details) 中我可以正确看到信息,但是当我调用该方法时console.log 返回未定义。
PD:如果我在声明它的位置之外声明 readFiles 的 details[],则信息不会正确推送到数组中。
我错过了什么?
【问题讨论】:
标签: javascript node.js file file-read