【发布时间】:2021-01-12 20:24:17
【问题描述】:
我正在尝试遍历包含目录的数组,然后返回所有项目的组合数组,而不管目录的数量如何。我试图使用 fs.readdir 函数来读取目录,但是看到 fs.readdir 函数是一个异步函数,我无法将信息传回给它。
有没有办法使用这个功能,同时也制作一个目录列表的数组?
这是我想做的,但我知道这是错误的。希望能得到一点指导。我可以提供任何其他信息。谢谢。
var docs = [];
libs.forEach(function(lib){
fs.readdir(lib, function(err, files){
files.forEach(function(file){
docs.push(file);
});
});
});
【问题讨论】:
-
你可以learn async programming或者你可以使用readdirSync
-
我正在尝试学习 Async,但我需要一些时间来理解。我考虑过使用同步版本,但我不想在此功能运行时占用应用程序。
-
如果您担心性能,请使用链接评论中的异步答案。
-
我会进一步调查。感谢您的指导。
-
请记住,节点附带 promise based fs api。您会发现大多数异步示例都使用 promises/async-await,因此使用
fs/promises可能更容易与类似的代码 sn-ps 进行比较
标签: javascript node.js asynchronous