確認する必要のあるファイル名の配列がたくさんありますが、ネットワーククライアントにも応答する必要があります。最も簡単な方法は、次のことを実行することです。
for(var i = 0; i <array.length; i ++){ fs.readFile(array [i]、function(err、data){...}); }
、ただし、配列は任意の長さ、たとえば100000にすることができるため、一度に100000の読み取りを実行することはお勧めできません。一方、fs.readFileSync()の実行には時間がかかりすぎる可能性があります。また、次のように、コールバックで次のfs.readFile()を起動します。
var Idx = 0; 関数checkFile(){ fs.readFile(array [Idx]、function(err、data){ Idx ++; if(Idx <array.length){ checkFile(); } そうしないと { Idx = 0; setTimeout(checkFile、10000); //1秒でファイルのチェックを開始します } }); }
array []はネットワーククライアントによって絶えず更新されるため(一部のアイテムが削除されたり、新しく追加されたりするなど)、これも最適なオプションではありません。
node.jsでそのようなタスクを実行するための最良の方法は何ですか?