【发布时间】:2021-05-23 07:50:55
【问题描述】:
下面是搜索关键字并返回数组中路径的函数, 函数有效,但返回相同的数组,附加路径不返回, 请问如何返回结果,
module.exports.getFilesRecursively = function (directory) {
return new Promise(async function (resolve, reject) {
try {
const filesInDirectory = fs.readdirSync(directory);
var result=[1,2];
for (const file of filesInDirectory) {
const absolute = path.join(directory, file);
if (fs.statSync(absolute).isDirectory()) {
_this.getFilesRecursively(absolute);
} else {
fs.readFile(absolute, function (err, data) {
if (err) throw err;
if (data.indexOf('TODO') >= 0) {
result.push(absolute);
console.log(result)// returns [1,2,"file1.js", "file2.js"]
}
});
}
}
resolve(result); // but returns [1, 2]
}
catch (err) {
reject(err);
}
})
}
【问题讨论】:
标签: javascript node.js arrays reactjs object