1

私の node.js アプリケーションにはいくつかのファイルが必要です。ファイルを非同期で読み取ることが推奨されていることを理解しているので、明らかに次のようなことをしなければなりません:

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

ただし、この場合、ファイルは順次読み取られます。

多くのファイルを並行して読み取り、すべてのファイルがロードされた後にアプリケーションが起動することを確認する方法はありますか?

4

2 に答える 2

3

とても簡単。

var files = [...], remaining = files.length;
var callback = function () {
    remaining--;
    if (!remaining) {
        go();
    }
};
files.forEach(function(file) {
    fs.readFile(file, callback);
});
于 2012-12-20T07:28:19.947 に答える