2017-07-17 7 views
0

次のスクリプトを実行すると、スクリプトは1秒ごとの更新では実行されませんが、3〜5秒ごとに実行されるという問題はありません。これはnode.jsのバグですか、それともそれを修正する方法はありますか?fs.watchFile delayed nodejs

var http = require('http'); 
var fs = require('fs'); 
var f = "C:\\Test.txt"; 
fs.watchFile(f, (curr, prev) => { 
    console.log(`the current mtime is: ${curr.mtime} ${prev.mtime}`); 
    console.log(String(fs.readFileSync(f))); 
}); 

setInterval(function() { 
    fs.writeFileSync('C:\\Test.txt',String(Date.now())); 
}, 1000); 

答えて

1

それは、独自の間隔でsetIntervalしかしfs.watchFile世論調査で正しく書いています。ポーリング間隔は、オプションパラメータで設定することができます。

fs.watchFile(f, {interval: 1000}, (curr, prev) => { 
    ... 
} 

これは期待どおりに機能するはずです。

+0

ように見える、ファイル2秒ごとにチェックしますか? – William

+0

私は本当によく分かりません。大丈夫ですが、負荷はありません。 –

0

fs.watchFile(f, {interval: 2000}, (curr, prev) => { 
 
    console.log(`the current mtime is: ${curr.mtime} ${prev.mtime}`); 
 
    console.log(String(fs.readFileSync(f))); 
 
});

は、デフォルトでは、100ミリ秒にこれを設定することが悪いことか5.

関連する問題