node.js - 异步并行读取文件

标签 node.js fs

我的 Node.js 应用程序需要多个文件。我知道建议异步读取文件,所以,显然我必须做这样的事情:

fs.readFile("file1", function(...) {
  fs.readFile("file2", function(...) {
    fs.readFile("file3", function(...) {
       [my application]
    }
  }
}

但是,在这种情况下,文件将按顺序读取。

有没有办法并行读取许多文件,并仍然确保应用程序在所有文件加载后启动?

最佳答案

非常简单。

var files = [...], remaining = files.length;
var callback = function () {
    remaining--;
    if (!remaining) {
        go();
    }
};
files.forEach(function(file) {
    fs.readFile(file, callback);
});

关于node.js - 异步并行读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966758/

相关文章:

javascript - 在 XML 文件中使用 JavaScript 变量

typescript - Firebase Functions Typescript - 使用 html 模板发送电子邮件

angularjs - 套接字 io 的奇怪 cors 问题

sql-server - 如何在Sequelize中匹配include中的唯一键和外键而不是主键和外键

node.js - 错误: Can't set headers after they are sent because of res.?

node.js - 我可以让我的 nodejs/express/jade 堆栈报告合理的语法错误吗?

node.js - NVM 安装 Node 不会更改 NPM 全局模块根文件夹

node.js - 使用 NodeJS 和 AWS S3 将损坏/截断的 mp4 上传到 S3 存储桶

javascript - 异步/等待函数fs.readfile并将其存储到变量中

javascript - fs.readFileSync() 在 express js 应用程序中失败