確認する必要のあるファイル名の配列がたくさんありますが、ネットワーククライアントにも応答する必要があります。最も簡単な方法は、次のことを実行することです。
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でそのようなタスクを実行するための最良の方法は何ですか?